Frage

Ich möchte eine clientseitige E-Mail-Ersteller-Webseite erstellen.Ich kenne die Probleme bei der Verwendung der Mailto-Aktion in einem HTML-Formular (kein Standard, keine Standard-Mail-Anwendung auf dem Client festgelegt).Aber die Webseite ist nicht sehr wichtig und sie kümmern sich auch nicht besonders darum.

Die durch die Aktion „mailto“ erstellte E-Mail hat die Syntax:

Thema:undefiniertes Thema
Körper:

param1=Wert1
param2=wert2
.
.
.
paramn=Wert

Kann ich JavaScript verwenden, um die E-Mail so zu formatieren?

Betreff: XXXXX

Körper:Wert1;Wert2;Wert3...WertN

War es hilfreich?

Lösung

Was wir in einem Projekt verwendet haben, ist ein Popup-Fenster, das ein Mailto öffnet:Link, es ist die einzige Möglichkeit, die wir gefunden haben, um eine E-Mail innerhalb des Standard-Mail-Clients zu verfassen, die mit allen Mail-Clients funktioniert (zumindest mit allen unseren verwendeten Clients).

var addresses = "";//between the speech mark goes the receptient. Seperate addresses with a ;
var body = ""//write the message text between the speech marks or put a variable in the place of the speech marks
var subject = ""//between the speech marks goes the subject of the message
var href = "mailto:" + addresses + "?"
         + "subject=" + subject + "&"
         + "body=" + body;
var wndMail;
wndMail = window.open(href, "_blank", "scrollbars=yes,resizable=yes,width=10,height=10");
if(wndMail)
{
    wndMail.close();    
}

Andere Tipps

Beim Versenden von E-Mails über den Browser haben Sie mehr oder weniger nur zwei Alternativen.

  1. Erstellen Sie eine Seite, die Benutzereingaben entgegennimmt und es ihnen ermöglicht, die E-Mail über Ihren Webserver zu senden.Dazu benötigen Sie eine Art serverseitiges Scripting.
  2. Verwenden Sie ein Mailto:Link, um das Öffnen des registrierten E-Mail-Clients des Benutzers auszulösen.Dies birgt die offensichtlichen Fallstricke, die Sie erwähnt haben, und ist weniger flexibel.Es erfordert jedoch weniger Arbeit.

Mit Javascript allein schon nicht möglich.
Javascript ist für solche Dinge nicht gedacht und ist in der Art und Weise, wie es mit allem anderen als dem Webbrowser, in dem es sich befindet, interagieren kann, stark beeinträchtigt (aus gutem Grund!).

Denk darüber nach:Ein Spammer schreibt eine Website mit clientseitigem Javascript, die automatisch E-Mails an Tausende zufälliger E-Mail-Adressen verschickt.Wenn die Leute diese Seite besuchen würden, würden sie alle mit ihrem eigenen Computer an einem verteilten Massenmailing-Betrug teilnehmen ...Keine Infektion oder Benutzerinteraktion erforderlich!

Sie können einen Mailto-Link erstellen und ihn mit Javascript auslösen:

  var mail = "mailto:buddy@mail.com?subject=New Mail&body=Mail text body";  
  var mlink = document.createElement('a');
  mlink.setAttribute('href', mail);
  mlink.click();

Gibt es einen Grund, warum Sie die Daten nicht einfach an eine Seite senden können, die den E-Mail-Versand übernimmt?Es ist ziemlich einfach, eine E-Mail in den meisten Sprachen zu versenden. Wenn es also keinen triftigen Grund gibt, sie an den Kunden weiterzuleiten, würde ich diesen Weg empfehlen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top