So senden Sie eine E-Mail aus einem HTML-Formular

Lesezeit: 5 Minuten

Benutzer-Avatar
dfdfd

Ich weiß, dass es viele Beispiele gibt, die die Aktion mailto: post verwenden, um E-Mails nur mit HTML-Formularen zu senden.

Aber wenn Sie dies verwenden, wird tatsächlich das Dialogfeld zum Senden von E-Mails angezeigt, z. B. das Outlook-Dialogfeld. Und es verwendet tatsächlich unseren eigenen SMTP-Server, um die E-Mail zu senden.

Gibt es eine Möglichkeit, HTML-Formulare zu erstellen, die nach dem Absenden einfach eine E-Mail senden?

Gibt es eine Javascript-API, die diesen Effekt erzielen kann? Sagen Sie zum Beispiel node.js?

Kann jemand einige Codebeispiele zur Verfügung stellen?

Benutzer-Avatar
Yisela

Wie die anderen sagten, kannst du nicht. Sie können gute Beispiele für HTML-php-Formulare im Web finden, hier ist ein sehr nützlicher Link, der HTML mit Javascript zur Validierung und PHP zum Senden der E-Mail kombiniert.

Bitte überprüfen Sie den vollständigen Artikel (einschließlich Zip-Beispiel) in der Quelle:
http://www.html-form-guide.com/contact-form/php-email-contact-form.html

HTML:

    <form method="post" name="contact_form"
    action="contact-form-handler.php">
        Your Name:
        <input type="text" name="name">
        Email Address:
        <input type="text" name="email">
        Message:
        <textarea name="message"></textarea>
        <input type="submit" value="Submit">
    </form>

JS:

    <script language="JavaScript">
    var frmvalidator  = new Validator("contactform");
    frmvalidator.addValidation("name","req","Please provide your name");
    frmvalidator.addValidation("email","req","Please provide your email");
    frmvalidator.addValidation("email","email",
      "Please enter a valid email address");
    </script>

PHP:

    <?php
    $errors="";
    $myemail="[email protected]";//<-----Put Your email address here.
    if(empty($_POST['name'])  ||
       empty($_POST['email']) ||
       empty($_POST['message']))
    {
        $errors .= "\n Error: all fields are required";
    }
    $name = $_POST['name'];
    $email_address = $_POST['email'];
    $message = $_POST['message'];
    if (!preg_match(
    "/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/i",
    $email_address))
    {
        $errors .= "\n Error: Invalid email address";
    }
    
    if( empty($errors))
    {
    $to = $myemail;
    $email_subject = "Contact form submission: $name";
    $email_body = "You have received a new message. ".
    " Here are the details:\n Name: $name \n ".
    "Email: $email_address\n Message \n $message";
    $headers = "From: $myemail\n";
    $headers .= "Reply-To: $email_address";
    mail($to,$email_subject,$email_body,$headers);
    //redirect to the 'thank you' page
    header('Location: contact-form-thank-you.html');
    }
    ?>

  • Wenn Sie den Kommentar zum bereitgestellten Link lesen, wird aufgrund der obigen Codes keine E-Mail gesendet.

    – Tempo

    4. Mai 2016 um 19:08 Uhr

Benutzer-Avatar
Anton Raphel

Sie können das einfache Kontaktformular in HTML mit dem PHP-Mailer verwenden. Es ist einfach in Ihre Website zu implementieren.

Andernfalls können Sie sich das Demo-Video unter folgendem Link ansehen: Youtube: Einfaches Kontakt-/Feedback-Formular im HTML-PHP-Mailer

Wenn Sie in localhost ausführen, erhalten Sie möglicherweise die folgende Fehlermeldung:

Warnung: mail(): Verbindung zum Mailserver an „smtp.gmail.com“ Port 25 fehlgeschlagen, überprüfen Sie Ihre „SMTP“- und „smtp_port“-Einstellung in php.ini oder verwenden Sie ini_set() in S:\wamp\www\sample \mailTo.php in Zeile 10

Und das ist der Screenshot des HTML-Formulars:
Einfache Form

Und dies ist die wichtigste PHP-Codierung:

<?php
if($_POST["submit"]) {
    $recipient="[email protected]"; //Enter your mail address
    $subject="Contact from Website"; //Subject 
    $sender=$_POST["name"];
    $senderEmail=$_POST["email"];
    $message=$_POST["comments"];
    $mailBody="Name: $sender\nEmail Address: $senderEmail\n\nMessage: $message";
    mail($recipient, $subject, $mailBody);
    sleep(1);
    header("Location:http://blog.antonyraphel.in/sample/"); // Set here redirect page or destination page
}
?>

  • meinblog.antonyraphel.in/2015/05/… wird von Google Chrome als irreführende Website markiert, bitte aktualisieren Sie den Link

    – Tankom

    20. Juli 2018 um 15:45 Uhr

  • Die Links „Einfaches Kontakt-/Feedback-Formular in HTML mit PHP (HTML-PHP-Mailer)“ und „Einfaches Kontakt-/Feedback-Formular in HTML-PHP-Mailer“ existieren nicht mehr. Beides waren Links zu der im vorherigen Kommentar erwähnten Website „myblog.antonyraphel“, die von Google Chrome möglicherweise als irreführende Sibylle gekennzeichnet wurde. Diese Links sollten wahrscheinlich aus dem Beitrag entfernt werden.

    – SherylHohman

    25. März 2020 um 19:00 Uhr


  • Links sind tot.

    – k_kumar

    23. April 2021 um 4:47 Uhr

Benutzer-Avatar
LOLWTFasdasd asdad

Wie viele Antworten in diesem Thread bereits andeuten, ist es nicht möglich, eine E-Mail von einer statischen HTML-Seite ohne Verwendung von PHP oder JS zu senden. Ich wollte nur hinzufügen, dass es einige großartige Lösungen gibt, die Ihre von Ihrem Formular generierte HTTP-Post-Anforderung annehmen und daraus eine E-Mail erstellen. Diese Lösungen sind besonders nützlich, wenn Sie JS oder PHP nicht zu Ihrer Website hinzufügen möchten.

Diese Server können grundsätzlich mit einem Mailserver konfiguriert werden, der dann für das Versenden der E-Mail zuständig ist. Der Empfänger, Betreff, Text usw. wird vom Server von Ihrem HTTP(S)-Post empfangen und dann in die E-Mail gestopft, die Sie senden möchten. Technisch gesehen ist es also immer noch nicht möglich, E-Mails von Ihrem HTML-Formular aus zu versenden, aber das Ergebnis ist das gleiche.

Einige dieser Lösungen können als SaaS-Lösung gekauft oder von Ihnen selbst gehostet werden. Ich werde nur einige nennen, aber ich bin mir sicher, dass es viele gibt, falls sich jemand für die Technologie oder den Service selbst interessiert.

Benutzer-Avatar
Gruselig

Kurze Antwort, das geht nicht.

HTML wird für die Struktur der Seite verwendet und kann keine E-Mails senden. Sie benötigen eine serverseitige Sprache (z. B. PHP), um E-Mails zu senden. Sie können auch einen Drittanbieterdienst verwenden und diesen die E-Mail-Verarbeitung überlassen für dich senden.

Sie können nicht, das Einzige, was Sie mit HTML tun können, ist, Ihre Standard-E-Mail-Anwendung zu öffnen. Sie müssen einen Servercode verwenden, um eine E-Mail zu senden, php, asp .net ….

Benutzer-Avatar
Robert

Sie können keine E-Mails mit Javascript oder HTML senden. Sie benötigen serverseitige Skripte in PHP oder anderen Technologien, um E-Mails zu senden.

Benutzer-Avatar
Sid Malani

HTML selbst sendet keine E-Mail. Sie benötigen etwas, das sich mit einem SMTP-Server verbindet, um eine E-Mail zu senden. Daher erscheint Outlook mit mailto: Andernfalls geht Ihr Formular an den Server, der über ein Skript verfügt, das E-Mails sendet.

1017620cookie-checkSo senden Sie eine E-Mail aus einem HTML-Formular

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy