Wie sende ich ein HTML-Formular in einer E-Mail .. nicht nur MAILTO

Lesezeit: 6 Minuten

Wie sende ich ein HTML Formular in einer E Mail nicht nur
Joe W

Ich habe ein HTML-Formular, das die Leute ausfüllen müssen, und ich möchte, dass es, wenn sie auf die Schaltfläche „Senden“ klicken, nur die E-Mail sendet, nicht ihre E-Mail aufruft und sie auffordert, die Nachricht selbst zu senden.

Wenn ich benutze:

<form action="MAILTO:[email protected]"... >

Alles, was tut, ist ein neues Fenster zu öffnen und den Text der E-Mail zu füllen, aber ich möchte, dass es nur eine E-Mail sendet.

Und gibt es eine Möglichkeit, die Ausgabe so zu formatieren, wie die E-Mail aussehen wird? Anstatt nur eine Liste der Feldnamen und des eingegebenen Werts.

Danke.

  • Sie müssen die E-Mail mit einer serverseitigen Technologie senden, welche Sprache/welches Framework verwenden Sie?

    – James Goodwin

    16. September 2011 um 20:09 Uhr


  • Arbeiten an denselben Sachen. Haben Sie es geschafft, eine formatierte Ausgabe des Formulars auf dem E-Mail-Client zu erhalten?

    – Mohit

    4. März 2013 um 10:46 Uhr

  • css-tricks.com/html-forms-in-html-emails

    – Matthäus Lock

    22. September 2014 um 0:19 Uhr

  • irgendwelche anderen No-Backend-Optionen? oder sehr einfach zu implementierende Optionen für Front-End-Ingenieure? Die Option unten mit Google Script scheint unsicher zu sein, obwohl sie sehr schnell zu implementieren ist!

    – Akin Hwan

    5. Januar 2019 um 2:25 Uhr


  • @akin hwan, Es gibt No-Code-Lösungen, die die Übermittlungen verarbeiten können, sodass Sie keinen eigenen Server benötigen. Schauen Sie sich zum Beispiel form-data.com an (Haftungsausschluss: Ich bin der Eigentümer). Es gibt viele andere ähnliche Lösungen.

    – Danbars

    7. Oktober 2021 um 5:10 Uhr

1645704728 684 Wie sende ich ein HTML Formular in einer E Mail nicht nur
nelsonisch

> Antwort 2021 = Leicht Weg mit GMail (5 Minuten)

Wir hatten ein ähnlich gestern zu lösende Herausforderung, und wir haben sie mit einem Google Apps-Skript gelöst!

E-Mail aus einem HTML-Formular senden Ohne ein Backend (Server) über Google!

Die Lösung dauert 5 Minuten zu implementieren und ich habe mit dokumentiert Schritt für Schritt Anweisungen: https://github.com/nelsonic/html-formular-e-mail-über-google-script-ohne-server senden

Kurzübersicht

A. Stellen Sie mithilfe des Beispielskripts ein Google App-Skript bereit

Stellen Sie das Beispielskript als Google Spreadsheet-APP-Skript bereit:
google-script-just-email.js

3-Skript-Editor-zeigt-Skript

erinnere dich die einzustellen TO_ADDRESS im Skript an die Stelle, an die die E-Mails gesendet werden sollen.
und kopiere die APP-URL damit Sie es im nächsten Schritt verwenden können, wenn Sie veröffentlichen Sie das Skript.

B. Erstellen Sie Ihr HTML-Formular und legen Sie das fest action zur App-URL

Verwendung der Probe html Datei:
index.html

Grundform erstellen.

7-html-Formular

erinnere dich um Ihre einzufügen APP-URL in das Formular action im HTML-Formular.

C. Testen Sie das HTML-Formular in Ihrem Browser

Öffnen Sie das HTML-Formular in Ihrem Browser, geben Sie einige Daten ein und senden Sie es ab!

HTML-Formular

Senden Sie das Formular ab. Sie sollten eine Bestätigung sehen, dass es gesendet wurde:
Formular gesendet

Öffnen Sie den Posteingang für die von Ihnen festgelegte E-Mail-Adresse (Oben)

Email erhalten

Getan.

Alles darüber ist anpassbardu kannst leicht
Stil/Thema der bilden mit deinem Liebling CSS Bücherei
und Speichern das eingereichte Daten in einem Google-Tabelle
zum schnell Analyse.
Die vollständige Anleitung sind verfügbar auf GitHub:
https://github.com/nelsonic/html-formular-e-mail-über-google-script-ohne-server senden

  • wow @nelsonic das war extrem hilfreich und gut erklärt, danke für deine hilfe

    – Jeremy Bader

    15. Oktober 2016 um 20:21 Uhr


  • Können wir diese Technik verwenden, wenn wir einige Dateien aus dem HTML-Formular an eine E-Mail-Adresse senden müssen?

    – AnonSar

    3. Mai 2020 um 0:56 Uhr

  • Die Lösung war wirklich hilfreich, ich habe die Technik ausprobiert

    – Ravi Kumar

    29. Dezember 2020 um 6:04 Uhr

Wie sende ich ein HTML Formular in einer E Mail nicht nur
Mingos

Sie machen Sinn, aber Sie scheinen das Konzept des E-Mail-Versands falsch zu verstehen.

HTML wird auf der Clientseite geparst, während die E-Mail vom Server gesendet werden muss. In reinem HTML geht das nicht. Ich würde vorschlagen, ein PHP-Skript zu schreiben, das den E-Mail-Versand für Sie übernimmt.

Grundsätzlich muss die Aktion Ihres Formulars anstelle von MAILTO auf dieses PHP-Skript verweisen. Rufen Sie im Skript die vom Formular übergebenen Werte ab (in PHP sind sie über die $_POST superglobal) und verwenden Sie die E-Mail-Versandfunktion (mail()).

Natürlich ist dies auch in anderen serverseitigen Sprachen möglich. Ich gebe eine PHP-Lösung, weil PHP die Sprache ist, mit der ich arbeite.

Ein einfacher Beispielcode:

formular.html:

<form method="post" action="email.php">
    <input type="text" name="subject" /><br />
    <textarea name="message"></textarea>
</form>

email.php:

<?php
    mail('[email protected]', $_POST['subject'], $_POST['message']);
?>
<p>Your email has been sent.</p>

Natürlich sollte das Skript einige Sicherheitsmaßnahmen enthalten, wie zum Beispiel die Überprüfung, ob die $_POST-Werte überhaupt verfügbar sind, sowie zusätzliche E-Mail-Header (z. B. die E-Mail des Absenders), möglicherweise eine Möglichkeit, mit der Zeichencodierung umzugehen – aber das ist es auch Komplex für ein schnelles Beispiel ;).

  • Vielen Dank, das Betrachten Ihres Beispiels hilft mir ziemlich, ich werde mich jetzt ein wenig mehr mit PHP befassen, damit ich es mehr verwenden kann

    – Jo W

    16. September 2011 um 20:26 Uhr

Ich weiß nicht, ob das, was du vorhast, möglich ist. Nach meinem Verständnis erfordert das Senden einer E-Mail von einem Webformular eine serverseitige Sprache, um mit einem Mailserver zu kommunizieren und Nachrichten zu senden.

Verwenden Sie PHP oder ASP.NET?

ASP.NET-Beispiel

PHP-Beispiel

  • Ich kann sie bei Bedarf ausführen, ich bin mit ASP vertraut, aber wenn ich nichts zum Kompilieren der PHP-Datei brauche, würde ich es stattdessen lieber versuchen, aber ich würde es nicht wissen, weil ich mich noch nie mit PHP befasst habe

    – Jo W

    16. September 2011 um 20:10 Uhr

Ich verwende jetzt tatsächlich ASP C#, um meine E-Mails zu senden, mit etwas, das so aussieht:

protected void Page_Load(object sender, EventArgs e)
{
    if (Request.Form.Count > 0)
    {
        string formEmail = "";
        string fromEmail = "[email protected]";
        string defaultEmail = "[email protected]";

        string sendTo1 = "";

        int x = 0;

        for (int i = 0; i < Request.Form.Keys.Count; i++)
        {
            formEmail += "<strong>" + Request.Form.Keys[i] + "</strong>";
            formEmail += ": " + Request.Form[i] + "<br/>";
            if (Request.Form.Keys[i] == "Email")
            {
                if (Request.Form[i].ToString() != string.Empty)
                {
                    fromEmail = Request.Form[i].ToString();
                }
                formEmail += "<br/>";
            }

        }
        System.Net.Mail.MailMessage myMsg = new System.Net.Mail.MailMessage();
        SmtpClient smtpClient = new SmtpClient();

        try
        {
            myMsg.To.Add(new System.Net.Mail.MailAddress(defaultEmail));
            myMsg.IsBodyHtml = true;
            myMsg.Body = formEmail;
            myMsg.From = new System.Net.Mail.MailAddress(fromEmail);
            myMsg.Subject = "Sent using Gmail Smtp";
            smtpClient.Host = "smtp.gmail.com";
            smtpClient.Port = 587;
            smtpClient.EnableSsl = true;
            smtpClient.UseDefaultCredentials = true;
            smtpClient.Credentials = new System.Net.NetworkCredential("[email protected]", "pward");

            smtpClient.Send(defaultEmail, sendTo1, "Sent using gmail smpt", formEmail);

        }
        catch (Exception ee)
        {
            debug.Text += ee.Message;
        }
    }
}

Dies ist ein Beispiel mit Google Mail als SMTP-Mail-Absender. Einiges von dem, was hier drin ist, wird nicht benötigt, aber so verwende ich es, da ich sicher bin, dass es auf die gleiche Weise effektivere Möglichkeiten gibt.

1645704733 253 Wie sende ich ein HTML Formular in einer E Mail nicht nur
Guente Anijo Guente

<FORM Action="mailto:xyz?Subject=Test_Post" METHOD="POST">
    mailto: protocol test:
    <Br>Subject: 
    <INPUT name="Subject" value="Test Subject">
    <Br>Body:&#xa0;
    <TEXTAREA name="Body">
    kfdskfdksfkds
    </TEXTAREA>
    <BR>
    <INPUT type="submit" value="Submit"> 
</FORM>

842990cookie-checkWie sende ich ein HTML-Formular in einer E-Mail .. nicht nur MAILTO

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

Privacy policy