Comment envoyer des emails avec du JavaScript ?

Image illustrant l'article : Comment envoyer des emails avec du JavaScript ?

Comment envoyer des emails avec du JavaScript ?

par Korben -

Si vous avez déjà envoyé un email à partir d’une application web, vous savez que ce n’est pas forcément très naturel et que vous devez installer en plus des outils comme sendmail…etc.

Le projet libre SMTPJSpropose de contourner ce problème en envoyant directement vos emails via SMTP à l’aide d’un simple script JavaScript insérable dans vos pages web et bien sûr de récupérer des callbacks pour savoir si les messages ont été correctement transmis.

Gain de temps et accessible aux débutants.

Pour cela, intégrez ce code dans le header de votre page :

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

Puis envoyez un email comme ceci :

Email.send({ Host : "smtp.yourisp.com", Username : "username", Password : "password", To : '[email protected]', From : "[email protected]", Subject : "This is the subject", Body : "And this is the body"}).then( message => alert(message));

Vous devrez évidemment disposer d’accès SMTP accessibles. Et cela ne vous aura pas échappé, si le code est mis dans une page web, on verra le mot de passe que vous utilisez pour le SMTP, ce qui n’est pas cool du tout.

C’est pourquoi SmtpJS passe par le service ElasticMail qui propose un token d’authentification permettant d’exploiter le script sans pour autant dévoiler un couple login/password. Ce qui donnerait ceci par exemple :

Email.send({ SecureToken : "C973D7AD-F097-4B95-91F4-40ABC5567812", To : '[email protected]', From : "[email protected]", Subject : "This is the subject", Body : "And this is the body", Attachments : [ { name : "smtpjs.png", path : "https://networkprogramming.files.wordpress.com/2017/11/smtpjs.png" }]}).then( message => alert(message));

Cela ne conviendra pas à tous les besoins évidemment, mais dans certains cas, c’est quand même beaucoup plus simple d’envoyer du mail avec SMTP JS.