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
Niveau
Simple Moyenne Complexe
Difficulté
– d’une heure + de 5 heures 12 heures et +
Temps

OcM

Objectif de l’article.
Contexte de la réalisation.
Modalité de l’éxécution.

Pouvoir envoyer un mail à partir de la console

Envoyer un mail à l’issue d’un script de traitement shell bash

Utilisation du service ssmtp disponible en natif sur DSM (à partir de la version 6)

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