Envoyer un mail en mode console
Indice NDT
(N)iveau requis, de l’utilisateur à l’expert.
(D)ifficulté : Simple, Moyenne, Complexe.
(T)emps estimé pour la réalisation.
Utilisateur | Technicien | Expert |
Simple | Moyenne | Complexe |
– d’une heure | + de 5 heures | 12 heures et + |
OcM
Objectif de l’article.
Contexte de la réalisation.
Modalité de l’éxécution.
Tout ne se résume pas à l’interface de pilotage offert par DSM (et pourtant les fonctions sont de version en version plus nombreuses). On a parfois des scripts shell bash unix/linux qui ‘tournent’ en tâche de fond et l’on aimerait être informé par mail de la fin de ce traitement. Si les notifications sont légions en ‘frond end’ c’est un peu moins simple en backoffice. Heureusement on peut se servir du process ssmtp disponible en mode console. Il faut néamoins le paramétrer avant de l’utiliser
Installation
Il faut en mode telent/ssh paramèter 2 fichiers : ssmtp.conf et revaliases. Dans le 1er on inscrira les paramètres permettant d’envoyer un e-mail.
Attention cela suppose de connaître le serveur smtp là où est connecté le NAS, l’adresse e-mail et le compte utilisé, lemot de passe et le port et type d’accès au serveur relais smtp pour correctement paramétrer l’ensemble.
Exemple pour un paramétrage chez orange.fr
- SMTP : smpt.orange.fr
- port : 465
- type d’accès : SSL Login
- email du compte : toto@orange.fr
- mot de passe du compte : Lem0tDepa55
Le fichier ssmtp.conf se trouve ici :
./etc/ssmtp/ssmtp.conf
mailhub=smtp.orange.fr:465 UseSTARTTLS=YES AuthUser=toto@orange.fr AuthPass=Lem0tDepa55 AuthMethod=LOGIN
Puis dans le fichier revaliases, on précise à minima l’utilisateur root et l’e-mail utilisée, (on pourrait ajouter une e mail selon différents utilisateurs du NAS) , le fichier se trouve ici :
./etc/ssmtp/revaliases
root:emailnas@orange.fr: smtp.orange.fr:465
Utilisation
En ligne de commande, directement depuis la console
[root@NAS] ssmtp toto@orange.fr ↵
To:aquijenvoi@gmail.com↵
From:nas@orange.fr↵
Subject:l'objet du mail↵
Le corps du message contenant tout le blabla blab blabla...↵
On sort de la commande (pour envoyer le message) par la combinaison de touche CTRL + D
Bien sur on utilisera plus facilement une injection de fichier contenant le mail à envoyer.
Ainsi, mon fichier mail.txt situé sur /volume1/homes/tek/mail.txt est utilisé dans mon script pour envoyer mon message, via la ligne de commande suivante :
ssmtp toto@orange.fr < /volume1/homes/tek/mail.txt
Le contenu de mail.txt peut ressembler à ceci :
To:aquijenvoie@laposte.net
From:nas@orange.fr
Subject:Nettoyage CARGO du NAS
Les fichiers de plus de 10 jours créés sur le dossier DL sont désormais supprimés. en cas d'erreur ils peuvent être récupérés dans recycled.
@+
N@S
Addenda du 17/04/2018
Pas envie de plonger dans le mode Telenet/SSH ?
Vous pouvez vous en passer en utilisant l’automatisation « maison » Mailsyno.