Seite 1 von 1

erledigt: HTML-Mail erstellen und versenden

Verfasst: 18.03.2018, 21:42
von Carlos
Hallo Leute!

Habe mein Formular so aufgebaut, dass bestimmte Daten (Usereingaben) für den Emailversand per Javascript das Standard-Email-Prog geöffnet und eine Email vorformuliert erstellt wird.
so ungefähr:

Code: Alles auswählen

var mailAddress = this.getField("Email").value;
var mailSubject = "Testsubjekt";
var mailBody = "Sehr geehrte Damen und Herren";
var mailBody = mailBody + "\n\nLaber Rhabarber Laber Rhabarber Laber Rhabarber Laber Rhabarber Laber Rhabarber Laber Rhabarber. ";
var mailBody = mailBody + "\n\nMit freundlichen Grüßen\n\n";
var mailBody = mailBody + "Fidi Buss";
this.app.mailMsg(false, mailAddress,"","",mailSubject,mailBody);
Die Email könnte man jetzt ggf. noch im Emailprog ergänzen und versenden. Funzt soweit, aber ist halt nur einfacher Text. Kann man auf diese Art auch eine HTML-Email erstellen, in der ich z. B. mit <table> die Daten organisieren kann und Fettdruck und kursiv und solcherlei Attribute verwenden könnte?

unspektakulär einfach

Verfasst: 20.03.2018, 20:30
von Carlos
Hallo Leute!

Hat mir keine Ruhe gelassen, da habe ich einfach mal rumexperimentiert und ... nur wenige Nachtstunden später :mrgreen: ... so hingekriegt:

Code: Alles auswählen

xyz = this.getField("Briefanrede").value;
name = this.getField("Name").valueAsString;
Anrede = "Sehr geehrte";

switch  (xyz) {
case 0:
Anrede = Anrede + "r Kunde,";
break;
case 1:
Anrede = Anrede + " Frau " + this.getField("Name").valueAsString + ",";
break;
case 2:
Anrede = Anrede + "r Herr " + this.getField("Name").valueAsString + ",";
break;
}

var mailadresse = this.getField("Email").value;
var mailsubj = "Angebot zu Ihrer Buchungsanfrage";
var mailtext = "<body>";
var mailtext = mailtext + Anrede + "<br><br>vielen Dank für Ihre blablabla;<br>";
var mailtext = mailtext + "<table border='1' cellspacing='0' cellpadding='10'>";
var mailtext = mailtext + "<tr><td align=left>blablabla:</td><td align=right>" + this.getField("Wurstsorte").valueAsString + "</td><td align=left>dingsbums:</td><td align=right>" + this.getField("Preis").value.toFixed(2) + "&euro;</td></tr>";
var mailtext = mailtext + "<tr><td align=left>blablabla:</td><td align=right>" + this.getField("Wurstsorte").valueAsString + "</td><td align=left>dingsbums:</td><td align=right>" + this.getField("Preis").value.toFixed(2) + "&euro;</td></tr>";
var mailtext = mailtext + "<tr><td align=left>blablabla:</td><td align=right>" + this.getField("Wurstsorte").valueAsString + "</td><td align=left>dingsbums:</td><td align=right>" + this.getField("Preis").value.toFixed(2) + "&euro;</td></tr>";
var mailtext = mailtext + "</table>";
var mailtext = mailtext + "<br><br>Bla bla bla bla bla bla bla bla";
var mailtext = mailtext + "<br><br>Bla bla bla bla bla bla bla bla";
var mailtext = mailtext + "<br><br>Mit freundlichen Grüßen<br><br>Max Mustermann<br>Musterweg 111 * 12345 Dingsbums * Telefon 123456789<br>www.dingsbums.de<br>";
var mailtext = mailtext + "</body>";
this.app.mailMsg(false, mailadresse,"","",mailsubj,mailtext);
Oder anders formuliert: Einfach als Mailtext nicht einen PlainText, sondern den HTML-Code von <body> bis </body> einfügen. Natürlich muss man auf die doppelten und einfachen Gänsefüsschen achten bzw. dieselben anpassen. Dazu kann vielleicht mal jemand was schreiben, der sich damit auskennt. Habe damit per Thunderbird (Win) Emails versendet, die auf Thunderbird (Linux) und Outlook (Win) gleichermaßen gut empfangen werden. Habe noch keine anderen Attribute wie Kleinschreiben oder Farben oder Fettdruck ausprobiert, aber warum soll das nicht gehen? Jedenfalls klappte das mit der Tabelle sehr gut.

Re: erledigt: HTML-Mail erstellen und versenden

Verfasst: 18.04.2018, 13:14
von nele_sonntag
Hallo Carlos,
danke, dass du deine Lösug für die anderen zur Verfügung stellst.
LG Mandy