Je vous propose aujourd'hui une astuce à destination des possesseurs de NAS Synology qui souhaite envoyer des notifications par email. Le tout en bash.
Le but est d'envoyer un email sans se préoccuper de la configuration du serveur SMTP. Je me sers de ce système pour recevoir un compte rendu mensuel par email d'un script de sauvegarde (de Blogmotion).
Pré-requis
Il est nécessaire d'avoir configuré la partie notification dans DSM :
Panneau de configuration > système > notification
Je vous conseille de créer une boite email chez Microsoft et de la dédier pour les notifications. Cela peut fonctionner avec d'autres fournisseurs comme Gmail ou votre serveur personnalisé, libre à vous d'essayer. J'ai de bons résultats avec une boite outlook donc je n'ai pas cherché plus loin 🙂
Voici ma configuration pour une boite email Outlook :
- Serveur SMTP personnalisé
- Serveur SMTP : smtp.office365.com
- Port SMTP : 587
A l'aide du bouton "envoyer un courriel test" vérifiez que vous recevez bien l'email. En cas de doute sur un filtrage antispam, testez sur une adresse YopMail (aucun email n'est filtré chez YopMail).
Le script bash
DSM va s'appuyer sur un fichier de configuration suivant :
/usr/syno/etc/synosmtp.conf
Voici comment parser ce fichier et envoyer un email en s'appuyant sur cette configuration :
#!/bin/bash TOMAIL="destinataire@gmail.com" SUJETMAIL="voici le sujet du mail"CORPSMAIL="un exemple de contenu du mail"FROMMAIL=$(grep 'smtp_from_mail' /usr/syno/etc/synosmtp.conf | cut -d '=' -f2 | tr -d '"') { echo To: $TOMAIL echo From: $FROMMAIL echo Subject: $SUJETMAIL echo echo $CORPSMAIL } | ssmtp $TOMAIL -v
L'option -v permet d'avoir un retour verbeux, pratique en cas de problème d'expédition.
⚠ Attention à bien laisser la ligne avec le "echo" vide.
A la place de la ligne echo $CORPSMAIL
vous pouvez insérer une commande système (résultat d'un script, contenu d'un fichier, etc).
Conclusion
J'ai souhaité vous partager cette astuce qui permet d'envoyer facilement des emails, sans se soucier des problématiques de délivrabilité.
Outlook (ex Hotmail) a pour réputation d'être particulièrement tatillons pour la réception des emails vers des boites outlook, hotmail, etc. C'est pourquoi j'ai choisi d'utiliser une boite email Microsoft : les serveurs de réception du destinataire ont tendance à accorder une bonne confiance aux emails qui sont relayés par Microsoft (je ne sais pas si cette phrase est claire 😄). Si vous avez des données sensible privilégier un fournisseur d'email un peu plus respectueux des données (protonmail, etc).
Pensez à laisser un commentaire si ce post vous a été utile 👍
Auteur : Mr Xhark
Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter
Le premier commentaire c'est pour vous 👇