Aller au contenu
Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

Comment envoyer des emails avec du JavaScript ?

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 SMTPJS propose 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.


Les articles du moment