//Mailsyno
Mailsyno

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.

Utiliser l’automatisation « maison » Mailsyno

Un NAS Synology sous DSM 6

Principes, installation, paramètrage, planification pour mise en exploitation.

Le service SSMTP permet avec un NAS Synology d’envoyer des mails en ligne de commande donc aussi dans des scripts bash et cela, sans ajout de paquet particulier. Le descriptif de cette fonction a fait l’objet d’un article ici. Pour éviter un accès Telnet/SSH au NAS et jouer avec la ligne de commande, Mailsyno valorise les fichiers requis grâce à un fichier de paramètrage param.txt.
Ce script est à planifier pour une exécution unitaire.

C-I-P-E


Dans les onglets suivants on retrouve les éléments pour le (C)ontenu son (I)nstallation, son (P)aramètrage et enfin son (E)xploitation.

Mailsyno est un script bash composé :

  • du script – Mailsyno
  • du fichier de paramètrage – Param.txt

Le script s’appuie sur le fichier de paramètrage pour plus facilement installer et adapter le script bash à tous et dans toutes situations. (pas besoin d’un accès telnet/ssh au NAS pour installer, paramètrer et exploiter Mailsyno)

On installe le script et son fichier de paramètrage dans un dossier du NAS.

Idéalement un dossier personnel type admin ou utilisateur (dans homes/user)
Une fois déposé et paramétré .. on y accède plus.

exemple :
un dossier spécifique dans le dossier run d’admin donc un chemin global qui peut être :
/volume1/homes/admin/run/Mailsyno

C’est dans le fichier param.txt que cela se passe !

Comme son nom l’entend, il s’agit d’un fichier texte modifiable avec n’importe quel éditeur. (on évitera word…)

ATTENTION : les paramètres sont inscrits à des numéros de ligne précis. Il faut éviter les retours chariots.

Que se passe-t-il si le paramètre n’est pas trouvé ou incomplet, incohérent ou à la ligne du dessous…

Un contrôle des paramètres est réalisé tant sur leur cohérence (présence du serveur ssmtp visé), comme aussi l’existence du dossier d’exécution ou bien encore le domaine de l’émail expéditrice et le serveur de mail utilisé… Le traitement ne se poursuit QUE si le fichier de paramètrage est correctement renseigné. Dans le cas contraire, le fichier de trace TR_param.txt généré dans le dossier d’exécution renseigne sur les informations manquantes et/ou erronées.

Les Paramètres


– Variable : M_SMTP
– Serveur de messagerie
– Format : orange.fr ou free.fr ou gmail.com (sans smtp.)
– Ligne 15
– Un contrôle est fait sur son existence (ping)

#—————————————————-

– Variable : M_PORT
– Le port utilisé
– Format numérique entier : jusqu’à 65000
– Ligne 25
– Contrôle de cohérence effectué.

#—————————————————-

– Variable : REP_DATA
– Dossier d’exécution du programme
– Format : /volume1/homes/moi/monscript
– Ligne 35
– Un contrôle de présence.

#—————————————————-

– Variable : M_EMAIL
– Email du compte autorisé du service
– Format : toto@domaine
– Ligne 45
– Le suffixe doit être identique à M_SMTP.

– Variable : M_MDP
– mot de passe du compte du serveur smtp.
– Ligne : 55


#—————————————————-

– Variable EMAIL_EXP
– Email expéditeur : identique à celle du compte ou autre mais du même domaine.
– Format: email nas@domaine
– Ligne 65
– Le suffixe doit être identique à M_SMTP.

#—————————————————-

– Variable EMAIL_DEST
– Email destinataire : utilisée pour e-mail de vérification.
– Format email nas@domaine
– Ligne 75
– Un contrôle syntaxique sur l’adresse est fait.

A noter : si l’email EXP est différente de l’email du compte, il faut néamoins que le compte appartienne au domaine du serveur d’envoi (ie compte toto@orange email pour le nas nas@orange.fr et non nas@gmail.com)

Afin d’exécuter le script on l’ajoute au planificateur des tâches.

Les traces


Sont générées dans le dossier d’exécution les fichiers suivants :

F_init
– Trace la bonne installation (paramètrage OK date d’initialisation correcte)
– Si absent il est généré à la 1ère exécution.
( à supprimer pour nouveau paramètrage)

TR_param.txt
– Trace la bonne lecture et interprétation des paramètres de param.txt
– Si absent est généré à chaque exécution
– Permet d’investiguer en cas d’erreur.

TR_message.txt
– Le Message constituant le mail envoyé.

log.txt
– Créé si le script est exécuté après une initialisation réussie. (aide mémoire pour ne pas oublier d’ôter le script dans planificateur des tâches.)

SSMTP.CONF
– Le fichier de paramètrage généré et copié en : etc/ssmtp.
– Perdure  pour information.

REVALIASES
– Le fichier de paramètrage généré et copié en : etc/ssmtp.
– Perdure  pour information.


Démo



Le paquet


Composé de 3 fichiers

    1. Mailsyno le script Bash V1
    2. Param.txt le fichier de paramètrage à amender
    3. Mailsyno.pdf la notice complémentaire

Mailsyno.zip Taille de l’archive zip – 476 ko – Signatures

FAQ

 


Les principales questions/réponses collectées sur le sujet et/ou les éventuelles évolutions.

Afficher les numéros de ligne 2018-04-14T12:02:21+00:00

Ne pas ajouter ou supprimer des lignes dans un fichier est plus facile à faire lorsqu’on voit les numéros des lignes.
Il existe différents logiciels permettant de le faire comme par exemple :

  • Ultraedit sous windows (existe aussi sous macOS)
  • TextMate (mon préféré) sous macOS
  • et sur le NAS le paquet Éditeur de texte fait le job

Il en existe plein d’autres sur internet !

Autorisation de Synology 2018-04-14T12:02:21+00:00

Le script ne réalise pas de changement sur les éléments constituant l’environnement logiciel du NAS Synology. Il automatise une action qui peut être faite manuellement par l’utilisateur.

En conséquence, le script ne représente ni un risque de sécurité ni une atteinte aux éléments techniques et juridiques du NAS.

Obtenir le chemin complet 2018-04-14T12:02:21+00:00

Dans le fichier de paramètrage on doit renseigner les chemins complets selon les volumes existants sur le NAS. Ainsi un dossier cargo dans le dossier partagé web est en fait : /volume_n (où est n est le numéro du volume)/web/cargo.

A partir de FileStation on obtient dans les propriétés du dossier ce chemin complet comme sur l’image à gauche.

QUID après une MAJ Syno ? 2018-04-14T12:17:54+00:00

Le script représente une automatisation qui ne s’appuie pas sur des fonctions de DSM. Ainsi , sauf changement d’OS et/ou de suppression de fonctions intégrées bas niveau , une MAJ du NAS n’obère pas le traitement du script.

La notification par mail est lente 2018-04-14T12:01:26+00:00

Le recours à la fonction ssmtp s’appuie sur un fichier d’en-tête de mail simpliste. Certains fournisseurs d’e-mail peuvent refuser ce formalisme réduit. Il est conseillé d’utiliser une adresse s’appuyant sur le FAI local du NAS et il faut parfois 30 à 40 minutes avant de recevoir le mail.

On peut utiliser un autre élément mais cela suppose d’installer/paramètrer ce complément,  alors que l’on souhaite que le script soit  adaptable  dans toutes situations basiques d’un NAS synology.

QUID du dossier après exécution 2018-04-14T12:16:16+00:00

Ce script bash n’est à exécuter qu’une seule fois. S’ il est exécuté plus d’une fois, après une initialisation réussie, le log.txt est alimenté et un possible bip sonore retentit sur le NAS, mais le traitement ne s’effectue pas.

Il faut ôter de la planification l’exécution du script concerné.

On peut supprimer l’intégralité du dossier contenant les éléments (script param.txt, traces) après une exécution réussie.

2018-05-21T19:38:16+00:00 14 Avr 2018|SYNO|

2 Comments

  1. Piwildev 20 avril 2018 à 9 h 51 min ␣- Répondre

    Bonjour,
    merci pour l’info.
    Un petit bémol en forme de REX : avec Gmail pas moyen que cela passe… Y compris si on va bien sur les paramètres de son compte et qu’on autorise ce genre d »utilisation…
    Bref retour à mon adresse FAI et là ça fonctionne très bien.

    • Daffy 20 avril 2018 à 21 h 16 min ␣- Répondre

      Oui merci, même constat ici avec Gmail…
      De plus en plus les serveurs SMTP réclament des headers plus complexes dans le message en raison des spams…
      Les solutions simplistes comme SSMTP semblent parfois insuffisantes vis à vis de ces exigences. (Pour le moment?…..)

Laisser un commentaire