Bonjour,
Il m'arrive souvent de configurer des machines (serveurs Debian,
équipements réseaux) capables d'émettre des courriels d'alerte vers
une (unique) adresse de destination.
Ces courriels ont naturellement une forme stéréotypée (nom ou
d'adresse d'émission, contenu).
Pour certains d'entre eux, j'aimerai enclencher des traitements
automatiques du type:
1. "je reçois un courriel signalant que le point d'accès WiFi est vu
comme perdu par le contrôleur WiFi,
j'attends 30 minutes
je vérifie si le point d'accès WiFi est connecté au réseau
s'il ne répond pas je coupe le PoE sur le port du commutateur
j'émets un nouveau courriel vers une adresse de niveau 2 un compte
rendu des actions entreprises"
2. Je ne reconnais pas ce type de message, je le transfère
immédiatement à l'adresse de niveau 2.
Actuellement, je reçois déjà, en continu, sur mon PC et mon smartphone
des alertes qui sont actuellement déposées dans une boîte IMAP.
Je me demande si je n'aurai pas intérêt à :
- créer une adresse de courriel dédié aux alertes,
- considérer mon adresse habituelle de courriel comme une adresse de niveau.
Mes questions:
Quels outils logiciels pour scruter un compte de messagerie dédié aux alertes et déclencher un script en lui passant le contenu du message ?
Pas besoin d'outil spécial: j'ai mes adresses de destination qui
génèrent des scripts, c'est géré dans /etc/aliases comme par ex.
videoON:|"/usr/bin/sudo -u uucp /usr/local/bin/setVideo.sh ON" videoOFF:|"/usr/bin/sudo -u uucp /usr/local/bin/setVideo.sh OFF"
Et le tour est joué ;)
[...]
videoON:|"/usr/bin/sudo -u uucp /usr/local/bin/setVideo.sh ON"J'ai pas bien compris:
videoOFF:|"/usr/bin/sudo -u uucp /usr/local/bin/setVideo.sh OFF"
dans le cas que tu décris, la machine qui émet le message est aussi
celle qui le traite, non ?
de plus, elle utilise des adresses de courriel différentes pour
déclencher des actions différentes.
Que fait-on quand les deux machines sont distinctes et que les
informations nécessaires au traitement spécifique sont contenues dans
le message du courriel ?
Si les 2 machines sont distinctes il faut de toute façon récupérer le
mail sur la machine qui traite. Donc ça dépend du logiciel que tu utilise pour ça.
Le mar. 22 nov. 2022 à 15:58, Michel Verdier
<michel.verdier.829@gmail.com> a écrit :
Justement, quel logiciel peut scruter en tâche de fond une boîte IMAP
Si les 2 machines sont distinctes il faut de toute façon récupérer le
mail sur la machine qui traite. Donc ça dépend du logiciel que tu utilise >> pour ça.
et y faire quelques modifications comme déplacer-supprimer un message
déjà lu ou traité, accéder facilement au contenu du message ?
Le 22/11/2022 à 13:01, Olivier a écrit :
Le mar. 22 nov. 2022 à 11:11, NoSpam <no-spam@tootai.net> a écrit :Pas du tout. Dans l'exemple ci dessus le client envoi (il utilise un
J'ai pas bien compris:
Pas besoin d'outil spécial: j'ai mes adresses de destination qui
génèrent des scripts, c'est géré dans /etc/aliases comme par ex.
videoON:|"/usr/bin/sudo -u uucp /usr/local/bin/setVideo.sh ON"
videoOFF:|"/usr/bin/sudo -u uucp /usr/local/bin/setVideo.sh OFF"
Et le tour est joué ;)
[...]
dans le cas que tu décris, la machine qui émet le message est aussi
celle qui le traite, non ?
iPhone) un courriel videoON@exemple.com -domaine que je gère- ce qui va executer le script VideoON Pour arrêter, c'est videoOFF@exemple.com. Ce script permet au client d'activer/désactiver l'envoi de message
d'alertes de ses caméras (videoON=messages envoyés videoOFF=on ne traite pas les messages d'alerte)
de plus, elle utilise des adresses de courriel différentes pour déclencher des actions différentes.
Tu peux aussi mettre tes commandes dans le corps du message et parser
celui ci à la réception
Que fait-on quand les deux machines sont distinctes et que lesCe qui est décrit ci dessus. Mon serveur mail est un simple postfix, le fichier /etc/aliases est traité par postfix et par tous ses équivalents
informations nécessaires au traitement spécifique sont contenues dans
le message du courriel ?
que je sache
Le mar. 22 nov. 2022 à 15:58, Michel Verdier
<michel.verdier.829@gmail.com> a écrit :
Justement, quel logiciel peut scruter en tâche de fond une boîte IMAP
Si les 2 machines sont distinctes il faut de toute façon récupérer le
mail sur la machine qui traite. Donc ça dépend du logiciel que tu utilise >> pour ça.
et y faire quelques modifications comme déplacer-supprimer un message
déjà lu ou traité, accéder facilement au contenu du message ?
Le mar. 22 nov. 2022 à 11:11, NoSpam <no-spam@tootai.net> a écrit :Pas du tout. Dans l'exemple ci dessus le client envoi (il utilise un
J'ai pas bien compris:
Pas besoin d'outil spécial: j'ai mes adresses de destination qui
génèrent des scripts, c'est géré dans /etc/aliases comme par ex.
videoON:|"/usr/bin/sudo -u uucp /usr/local/bin/setVideo.sh ON"
videoOFF:|"/usr/bin/sudo -u uucp /usr/local/bin/setVideo.sh OFF"
Et le tour est joué ;)
[...]
dans le cas que tu décris, la machine qui émet le message est aussi
celle qui le traite, non ?
de plus, elle utilise des adresses de courriel différentes pour
déclencher des actions différentes.
Que fait-on quand les deux machines sont distinctes et que lesCe qui est décrit ci dessus. Mon serveur mail est un simple postfix, le fichier /etc/aliases est traité par postfix et par tous ses équivalents
informations nécessaires au traitement spécifique sont contenues dans
le message du courriel ?
C'est plus clair maintenant: merci.
Comment faire pour que tous les messages envoyés à *@exemple.com
soient envoyés au même script ?
Par *@exemple.com, je sous-entend que les destinataires
foo@@exemple.com, bar@exemple.com, ... sont très nombreux et non
connus à l'avance.
Ça serait l'équivalent d'un /etc/aliases mais ne s'appuyant que sur le
nom de domaine ?
Le mar. 22 nov. 2022 à 17:44, NoSpam <no-spam@tootai.net> a écrit :
Le 22/11/2022 à 13:01, Olivier a écrit :
Le mar. 22 nov. 2022 à 11:11, NoSpam <no-spam@tootai.net> a écrit :Pas du tout. Dans l'exemple ci dessus le client envoi (il utilise un
J'ai pas bien compris:
Pas besoin d'outil spécial: j'ai mes adresses de destination qui
génèrent des scripts, c'est géré dans /etc/aliases comme par ex.
videoON:|"/usr/bin/sudo -u uucp /usr/local/bin/setVideo.sh ON"
videoOFF:|"/usr/bin/sudo -u uucp /usr/local/bin/setVideo.sh OFF"
Et le tour est joué ;)
[...]
dans le cas que tu décris, la machine qui émet le message est aussi
celle qui le traite, non ?
iPhone) un courriel videoON@exemple.com -domaine que je gère- ce qui va
executer le script VideoON Pour arrêter, c'est videoOFF@exemple.com. Ce
script permet au client d'activer/désactiver l'envoi de message
d'alertes de ses caméras (videoON=messages envoyés videoOFF=on ne traite >> pas les messages d'alerte)
de plus, elle utilise des adresses de courriel différentes pourTu peux aussi mettre tes commandes dans le corps du message et parser
déclencher des actions différentes.
celui ci à la réception
Que fait-on quand les deux machines sont distinctes et que lesCe qui est décrit ci dessus. Mon serveur mail est un simple postfix, le
informations nécessaires au traitement spécifique sont contenues dans
le message du courriel ?
fichier /etc/aliases est traité par postfix et par tous ses équivalents
que je sache
# traiter le mail qui est dans le fichier /tmp/msg.$uid
#détruire le fichier de travail et le mail
rm -f msg.$uid
doveadm expunge -u user mailbox-guid $guid uid $uid
Justement, quel logiciel peut scruter en tâche de fond une boîte IMAP
et y faire quelques modifications comme déplacer-supprimer un message déjà lu ou traité, accéder facilement au contenu du message ?
Le 22/11/22 à 16:58, Francois Mescam <francois@mescam.org> a écrit :
# traiter le mail qui est dans le fichier /tmp/msg.$uid
#détruire le fichier de travail et le mail
rm -f msg.$uid
doveadm expunge -u user mailbox-guid $guid uid $uid
Ici je déplacerais plutôt le mail dans un dossier "done", histoire de garder une trace des
notifications reçues.
Justement, quel logiciel peut scruter en tâche de fond une boîte IMAP
et y faire quelques modifications comme déplacer-supprimer un message
déjà lu ou traité, accéder facilement au contenu du message ?
Pour traiter le contenu du message et scripter les actions à lancer, ça peut être plus facile
avec autre chose que bash|dash|zsh (et les outils classiques sed|awk|…). Pour ça tu peux aussi
scripter le traitement du mail dans le langage de ton choix s'il dispose d'une lib éprouvée
pouvant lire de l'imap (à peu près tous ont ça, js|php|python|perl|etc.).
--
Daniel
Programmeur : personne qui résout, de manière incompréhensible, un problème que tu ignorais avoir.
Pierre Desproges
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 299 |
Nodes: | 16 (2 / 14) |
Uptime: | 33:43:21 |
Calls: | 6,682 |
Files: | 12,222 |
Messages: | 5,342,917 |