(modifié le 4 octobre 2023 à 0:30)

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