2010-12-15 10 views
10

Ist es möglich, E-Mails nur mit Javascript zu versenden?Kann ich per Javascript eine E-Mail senden?

+2

Sie können einen AJAX-Aufruf an ein Skript auf Ihrem Server machen, das macht das für Sie ... aber das ist nicht wirklich "nur Javascript" :-) – Cameron

+1

Können Marketingfirmen Spam mit Javascript versenden? – Harmen

+0

Mögliches Duplikat von [Versenden von E-Mails mit Javascript] (https://stackoverflow.com/questions/271171/sending-emails-with-javascript) –

Antwort

3

Ja. Verwenden eines Webdienstes. Sie können einen AJAX-Anruf zum Dienst tätigen. EmailYak ist ein solcher Service (Es ist jetzt in einer privaten Beta).

EDIT: Dies ist immer noch eine serverseitige Lösung, da die eigentliche E-Mail vom Server gesendet wird. Sie kommunizieren nur mit einem Server über AJAX und sagen ihm, dass er die E-Mail senden soll.

+0

welches wäre serverside – thejh

+0

@thejh - Tatsächlich. Ich werde darauf hinweisen. – Adam

2

Sie können zu einer mailto:[email protected][email protected]&subject=This%20is%20the%20subject&body=This%20is%20the%20body Adresse umleiten, die den Browser anweist, den E-Mail-Client zu starten, der dann die E-Mail zum Senden bereit macht - der Benutzer muss nur "Senden" drücken.

Code:

document.location="mailto:[email protected][email protected]&"+ 
    "subject=This%20is%20the%20subject&body=This%20is%20the%20body"; 
+0

Eigentlich [kann man so etwas in Javascript tun] (http: // Bytes.com/topic/javascript/antwort/592325-can-i-send-email-javascript), ohne dass der Benutzer auf submit muss. Aber es setzt voraus, dass ein E-Mail-Client wie Outlook auf dem lokalen Computer vorhanden ist. – DOK

+0

@DOK: Sicher? Das kann nirgendwo auf der verknüpften Seite angezeigt werden. Und es wäre ein großes, fettes Sicherheitsloch. – thejh

+0

@thejh Ich denke, dass Code dort ziemlich leicht zu finden ist. Es ist die erste Antwort auf die Frage. Suchen Sie nach "onclick" oder "mailto:" – DOK

1

Wenn Sie die Meldung „still“ von einem SMTP-Prozess gesendet werden sollen, dann muss dies auf dem Server durchgeführt werden oder durch einen gehosteten Dienst.

Wenn Sie das native E-Mail-Programm des Benutzers verwenden möchten, könnten Sie einen Ansatz wie den folgenden verwenden: described in this question.

3

Es ist tatsächlich möglich und nicht so schwierig, ein SMTP client in Javascript zu bauen.

Dieser SMTP-Client muss jedoch weiterhin mit einem SMTP-Server kommunizieren, um die E-Mails zu erhalten. Und SMTP-Server, die für jedermann zugänglich sind, sind heutzutage sehr selten (weil sie schnell zu Spam-Kanälen werden und dann blockiert und/oder geschlossen werden).

Wenn jedoch die Person, die den Client verwendet, einen SMTP-Server und Benutzeranmeldeinformationen dafür bereitstellen kann (genau wie bei jedem anderen E-Mail-Client), dann können Sie E-Mails nur mit Javascript senden.

1

Eine andere Lösung auf JS Sie eine Bibliothek smtpjs

In folgenden Bibliothek Ihre HTML-Datei auf Header namens verwenden:

<script src="https://smtpjs.com/smtp.js"></script> 

verwenden ohne Sicherheit:

Email.send("[email protected]", 
"[email protected]", 
"This is a subject", 
"this is the body", 
"smtp.yourisp.com", 
"username", 
"password"); 

Verwendung dieser mit Sicherheit:

Email.send("[email protected]", 
"[email protected]", 
"This is a subject", 
"this is the body", 
{token: "63cb3a19-2684-44fa-b76f-debf422d8b00"}); 
1

Beachten Sie, dass smtpjs einen Dienst unter http://smtpjs verwendet. Es ist nicht wirklich ein Javascript SMTP-Client. Dieses "Dienstprogramm" bedeutet, dass Sie Ihre E-Mail-Anmeldeinformationen auf den Server smtpjs.com hochladen. Verwendung mit äußerster Vorsicht.

Verwandte Themen