Wie kann man mit JavaScript eine E-Mail verschicken?


26.08.2020, 18:07

Wie kann man direkt (ohne mailto) mit JavaScript eine E-Mail verschicken?

2 Antworten

Wenn du Node.js verwendest, kannst du zum Beispiel Nodemailer verwenden.

Vom Browser aus ist das Senden von E-Mails nicht möglich, es sei denn, du sendest zuerst eine Anfrage an einen Webserver, der dann den E-Mail-Versand übernimmt.

Du kannst aber im Browser einen Link zu einer E-Mail-Adresse erzeugen. Wenn der Nutzer auf den Link klickt, öffnet sich sein E-Mailprogramm.

Woher ich das weiß:Studium / Ausbildung – Informatikstudium
DieKausalitaet 
Fragesteller
 26.08.2020, 18:10

Sendet Nodemailer eine Anfrage an einen Webserver, der dann den E-Mail-Versand übernimmt?

1
VeryBestAnswers  26.08.2020, 18:14
@DieKausalitaet

Nodemailer kommuniziert direkt mit dem Server deines E-Mail-Providers (z.B. Gmail) über SMTP soweit ich weiß. Das ist aber nur möglich, weil Nodemailer in Node.js, und nicht im Browser ausgeführt wird. Du brauchst also auf jeden Fall einen Webserver, egal ob Apache Node.js oder einen anderen.

1
VeryBestAnswers  26.08.2020, 18:17
@DieKausalitaet

Das Senden von E-Mails direkt aus dem Browser wäre extrem unsicher, denn JS im Browser ist für alle Nutzer in der Browserkonsole zugänglich. Es könnten also alle deine E-Mail-Zugangsdaten sehen und damit beliebig E-Mails unter deinem Namen versenden.

1

You can, however, open the user's mail client:

window.open('mailto:test@example.com');

There are also some parameters to pre-fill the subject and the body:

window.open('mailto:test@example.com?subject=subject&body=body');