PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kontaktformular + Mailversand realisieren


Hacki_P3D
2022-09-27, 07:31:53
Hi @ all

Wie funktioniert das eigentlich technisch, wenn man auf seiner HP ein Kontakformular hat, welches bei Benutzung (natürlich) eine Mail verschicken soll. Aber - ohne Hilfe eines Drittanbieters.

Frage für einen Freund, selber habe ich keine Ahnung von sowas :)

Danke vorab!

Gohan
2022-09-27, 12:32:51
Naja. Nutzt er ein Framework? Ist die Seite pur PHP? Ist sie statisch? Es gibt viel zu viele Ausgangssituationen, um darauf vernünftig zu antworten.

nalye
2022-09-27, 13:05:45
https://stackoverflow.com/questions/3775509/how-do-i-send-email-from-my-website

Hier stehen gute Anhaltspunkte drin.

Hacki_P3D
2022-09-30, 09:20:16
Moin und danke für eure Antworten.

Er hat bei https://zap-hosting.com/de/ Webspace geholt und fängt grade mit PHP, JS etc. an.

Es gibt dort schon die Möglichkeit sowas zu realisieren, ihm kam es aber ein wenig merkwürdig vor, seine Zugangsdaten unverschlüsselt in dem File zu hinterlegen, daher die ursprüngliche Frage :)

Jetzt schaut er sich das nochmal genauer an, bleibe am Ball :up:

sei laut
2022-10-11, 09:09:13
Es gibt dort schon die Möglichkeit sowas zu realisieren, ihm kam es aber ein wenig merkwürdig vor, seine Zugangsdaten unverschlüsselt in dem File zu hinterlegen, daher die ursprüngliche Frage :)

Man nimmt auch nicht seine eigene Email Adresse. Diese Webhosting Pakete unterstützen auch Email, da einfach halt ne Email Adresse anlegen.
Wenn darüber Spam rausgeht, muss er halt das Passwort ändern.

Der Programmcode muss halt wissen, wie er sich einlogt. Völlig normal, dass da Zugangsdaten stehen. Solange man die nicht zu github oder sonstwo hochlädt, nur halb so schlimm. ;)

mercutio
2022-11-02, 10:51:39
Er sollte das Formular auch unbedingt gegen Spammer schützen. Gerade wenn man mit PHP und JS erst anfängt sollte man da schon vorgreifen und entsprechende Funktionen einbauen. Ein bisschen google Recherche hilft hier.

Geldmann3
2023-01-03, 12:34:47
Ja, so sollte es mit etwas php und html ungefähr gehen:

<?php
if (isset($_POST['submit'])) {
// Validate and sanitize form data
$name = filter_var($_POST['name'], FILTER_SANITIZE_STRING);
$subject = filter_var($_POST['subject'], FILTER_SANITIZE_STRING);
$mailFrom = filter_var($_POST['mail'], FILTER_SANITIZE_EMAIL);
$message = filter_var($_POST['message'], FILTER_SANITIZE_STRING);

// Check that all required fields are filled
if (empty($name) || empty($subject) || empty($mailFrom) || empty($message)) {
// Redirect to the form with an error message
header("Location: contactform.php?error=emptyfields");
exit();
}

// Check that the email address is valid
if (!filter_var($mailFrom, FILTER_VALIDATE_EMAIL)) {
// Redirect to the form with an error message
header("Location: contactform.php?error=invalidemail");
exit();
}

// Send the email
$mailTo = "you@yourdomain.com";
$headers = "From: ".$mailFrom;
$txt = "You have received an e-mail from ".$name.".\n\nSubject: ".$subject."\n\n".$message;
mail($mailTo, $subject, $txt, $headers);

// Redirect to the success page
header("Location: index.php?mailsent");
}
?>

<form method="post" action="contactform.php">
<input type="text" name="name" placeholder="Name">
<input type="text" name="subject" placeholder="Subject">
<input type="email" name="mail" placeholder="E-mail">
<textarea name="message" placeholder="Message"></textarea>
<button type="submit" name="submit">Send</button>
</form>

KriNemeth
2023-01-03, 12:52:21
Macht man heute so was mit PHP? Klar, vor 15 Jahren habe ich das auch so gemacht. Wie mein Kollege immer zu sagen pflegt: "PHP ist, so was von 2005".

Zugegebenermaßen habe ich mich das letzte Mal auch 2008 damit beschäftigt, gibt es inzwischen nicht besseres als PHP dafür?

Geldmann3
2023-01-03, 13:55:07
Klar, warum nicht? PHP ist wahrscheinlich noch immer die am meisten serverseitig verwendete Programmiersprache zum Erstellen von Websites.
Am Besten ist das, was Dich zum Ziel führt.

Asaraki
2023-01-03, 14:13:23
Ich würd trotzdem Py oder C# empfehlen, zumindest falls das irgendwann auf einem CV stehen soll. Ausserdem lernt man damit eine Sprache, die nicht auf Webbackends beschränkt ist.

Sehe persönlich keinen Grund für PHP, wenn einen nichts dazu zwingt.

(Kann man aber auch 2022 durchaus einsetzen, ist jetzt auch nichts schlimm dran)