Pjmail
Indice NDT
(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
Contexte de la réalisation.
Modalité de l’éxécution.
L‘envoi de pièce jointe par mail est aisée. Cependant, chaque fournisseur de messagerie limite la taille de ces envois (minimum 5 Go parfois 20 Go). Le destinataire peut ne pas recevoir la ou les PJ. Enfin, l’envoi suppose d’avoir une connexion Internet montante conséquente pour ne pas trop attendre attendre…
Le dépôt de PJ sur le NAS dans un sous dossier de web, permet d’envoyer un lien vers l’archive zip souhaitée. On contourne les problématiques citées en amont et on assure ainsi envoi et réception du messages avec sa PJ.
On évite ainsi, le recours à des CLOUDs externes dont on ne maîtrise pas les degrés de confidentialités.
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.
Pjamil est un script bash composé :
- du script – Pjmail
- 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 Menage)
Prérequis :
- Paquet PHP installé (si PhotoStation et/ou WebStation présents, alors PHP l’est aussi)
- Notification des mails paramètrée dans le panneau de configuration
- Le paquet webstation doit être installé pour avoir le dossier « spécial » web et l’accès externe via url à ce dossier.
On installe le script et son fichier de paramètrage dans un dossier du NAS.
Ce dossier n’est pas le dossier visé pour le « réceptacle des fichiers à archiver ».
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/pjmail
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 (existence du NDD pour l’accès au NAS…), comme aussi l’existence du dossier visé. 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 : REP_DATA
– Dossier d’exécution du programme
– Format : /volume1/homes/moi/monscript
– Ligne 25
– Un contrôle est fait sur la non appartenance à un dossier racine du NAS
#—————————————————-
– Variable : CARGO & PJMAIL
– Dossier de mise à disposition et de dépôt pour archive ZIP
– Format : /volume1/web/depot/cargo
– Format : /volume1/web/depot/PJMAIL
– Ligne 35 & 37
– Contrôle d’existence effectué + non appartenance à un dossier racine du NAS pour le dossier de dépôt.
A noter : le dossier de mise à disposition de la PJ doit impérativement dépendre du dossier web.
#—————————————————-
– Variable : ADDR_WEB
– Adresse NDD du NAS et du dossier de mise à disposition.
– Format : https://monnas.com/depot/cargo
– Ligne 65
– Un contrôle est fait sur l’existence du dossier et de l’adresse web.
#—————————————————-
– Variables : email
– Destinataire et expéditeur (suppose que le paramètrage d’envoi soit fait par avance –)
– Ligne 55 et 65
– format email
– Contrôle de cohérence réalisé
#—————————————————-
– Variable : CRYPT
– Format : alphanumérique
– Ligne : 75
– Si vide, alors pas de chiffrage.
A noter : lors de la 1ère exécution le mot de passe est chiffré dans le fichier de paramétrage. (paramètre en ligne 74 passe de V à C)
#—————————————————-
– Variable DPJ
– Information sur le délai de mise à disposition de la PJ
– Valeur numérique pour un nombre de jours.
– Ligne 85
– si vide ou nul pas de mention dans le mail envoyé.
#—————————————————-
A noter : Le dossier ‘dépot‘ peut se trouver dans un sous dossier du NAS qui doit cependant être accessible pour l’utilisateur. C’est le dossier vers lequel on copie le(s) fichier(s) et/ou dossier(s) qui sont archivés en une PJ….ZIP, archive ZIP déplacée ensuite dans le dossier de mise à disposition (sous dossier de web du NAS).
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 1ere exécution.
– 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 (si changement de paramètrage param.txt)
– Permet d’investiguer si une erreur est trouvée dans le fichier de paramètrage
– TR_smtp.txt
– Vérification des fichiers de paramétrage d’envoi de mail.
– TR_message.txt
– Le Message constituant le mail envoyé (ou pas mais qui est toujours généré).
Est généré dans le sous-dossier web (de mise à disposition) outre la PJ archive ZIP, le fichier suivant :
– PJaaaammjjhhmmss_log.txt
– Le(s) fichier(s) / dossier(s) contenu(s) dans l’archive compressée.
Démo
Le paquet
Composé de 3 fichiers
- Pjmail le script Bash – V1.0
- Param.txt le fichier de paramètrage à amender
- Pjmail.pdf la notice complémentaire
FAQ
Les principales questions/réponses collectées sur le sujet et/ou les éventuelles évolutions.
Cool merci.
Je n’aime pas trop déposer des fichiers sur des serveurs dont je n’ai pas la maîtrise et cette solution est pour moi tip top.
Facile à mettre en place (je suis une quiche en cde et autres lignes de commande), ça fonctionne très bien.
A noter la 1ere fois le mail s’est trouvé dans les spams… Mais désormais il arrive à bon port.
Je suis avec un PC sous Windows 10 et Thunderbird pour le client mail.
Une remarque : lorsqu’on met en place la programmation, toutes les minutes, le décompte démarre par défaut au lendemain…