• =?UTF-8?Q?Quels_outils_pour_automatiser_le_traitement_d=27alerte?= =?UT

    From Olivier@21:1/5 to All on Tue Nov 22 11:00:01 2022
    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 ?

    Quels pièges à éviter lors d'une mise en place ?

    Slts

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From NoSpam@21:1/5 to All on Tue Nov 22 11:20:01 2022
    Bonjour

    Le 22/11/2022 à 10:57, Olivier a écrit :
    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é ;)

    [...]

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Olivier@21:1/5 to All on Tue Nov 22 13:10:01 2022
    Le mar. 22 nov. 2022 à 11:11, NoSpam <no-spam@tootai.net> a écrit :



    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é ;)

    [...]

    J'ai pas bien compris:
    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 ?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Michel Verdier@21:1/5 to All on Tue Nov 22 16:00:01 2022
    Le 22 novembre 2022 Olivier a écrit :

    videoON:|"/usr/bin/sudo -u uucp /usr/local/bin/setVideo.sh ON"
    videoOFF:|"/usr/bin/sudo -u uucp /usr/local/bin/setVideo.sh OFF"

    J'ai pas bien compris:
    dans le cas que tu décris, la machine qui émet le message est aussi
    celle qui le traite, non ?

    Oui

    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 ?

    Le pipe "|" indique que tout le mail va être passé à la commande setVideo.sh. Donc le script peut gérer différentes actions même si tu regroupe tout sur une seule adresse.

    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. Mais tu peux aussi faire un script qui récupère périodiquement
    les mails voulus. Et à ce moment là autant faire le traitement
    directement dans ce script.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Olivier@21:1/5 to All on Tue Nov 22 16:30:01 2022
    Le mar. 22 nov. 2022 à 15:58, Michel Verdier
    <michel.verdier.829@gmail.com> a écrit :



    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.

    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 ?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Francois Mescam@21:1/5 to All on Tue Nov 22 17:00:01 2022
    J'ai fait cela sur ma machine qui gère mon serveur imap avec dovecot
    avec un script lancé par cron sur le compte de la boite imap.

    #!/bin/bash

    # donner en paramètre le nom du dossier contenant les alertes
    Bal=$1
    cd /tmp
    user=<nom du user qui reçoit les mails d'alertes>

    # traiter les messages un par un
    doveadm search -u $user mailbox $BalASpam |
    while read guid uid; do
      # récupérer le message courant
      doveadm fetch -u $user text.utf8 mailbox-guid $guid uid $uid | sed
    '1d' > msg.$uid

      # 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
    done

    exit


    Francois Mescam

    Le 22/11/2022 à 16:28, Olivier a écrit :
    Le mar. 22 nov. 2022 à 15:58, Michel Verdier
    <michel.verdier.829@gmail.com> a écrit :


    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.

    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 ?


    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Olivier@21:1/5 to All on Tue Nov 22 18:00:01 2022
    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 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é ;)

    [...]

    J'ai pas bien compris:
    dans le cas que tu décris, la machine qui émet le message est aussi
    celle qui le traite, non ?
    Pas du tout. Dans l'exemple ci dessus le client envoi (il utilise un
    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 les
    informations nécessaires au traitement spécifique sont contenues dans
    le message du courriel ?
    Ce 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
    que je sache


    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Basile Starynkevitch@21:1/5 to Olivier on Tue Nov 22 18:10:01 2022
    On 22/11/2022 16:28, Olivier wrote:
    Le mar. 22 nov. 2022 à 15:58, Michel Verdier
    <michel.verdier.829@gmail.com> a écrit :


    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.

    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 ?


    La bibliothèque mailio (en C++) semble traiter le protocole IMAP.

    https://products.fileformat.com/email/cpp/mailio/

    et les langages Go ou Rust semblent avoir des fonctions de traitement de courriel (IMAP ou POP)

    et le paquet fetchmail (voir
    https://packages.debian.org/stable/mail/fetchmail ...) pourrait être utile.

    NB. Je cherche des partenaires intéressés par http://refpersys.org/ - me contacter alors par courriel (perso: basile@starynkevitch.net ou pro au
    CEA LIST en basile.starynkevitch@cea.fr ....)

    --
    Basile Starynkevitch <basile@starynkevitch.net>
    (only mine opinions / les opinions sont miennes uniquement)
    92340 Bourg-la-Reine, France
    web page: starynkevitch.net/Basile/

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From NoSpam@21:1/5 to All on Tue Nov 22 17:50:01 2022
    Le 22/11/2022 à 13:01, Olivier a écrit :
    Le mar. 22 nov. 2022 à 11:11, NoSpam <no-spam@tootai.net> a écrit :


    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é ;)

    [...]

    J'ai pas bien compris:
    dans le cas que tu décris, la machine qui émet le message est aussi
    celle qui le traite, non ?
    Pas du tout. Dans l'exemple ci dessus le client envoi (il utilise un
    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 les
    informations nécessaires au traitement spécifique sont contenues dans
    le message du courriel ?
    Ce 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
    que je sache

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From NoSpam@21:1/5 to All on Tue Nov 22 19:30:01 2022
    virtdomainlist: exemple.com OK

    virtusertable: @exemple:com user

    dans /etc/aliases

    user:|"/usr/bin/sudo -u uucp /usr/local/bin/setVideo.sh ON"

    Le 22/11/2022 à 17:55, Olivier a écrit :
    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 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é ;)

    [...]

    J'ai pas bien compris:
    dans le cas que tu décris, la machine qui émet le message est aussi
    celle qui le traite, non ?
    Pas du tout. Dans l'exemple ci dessus le client envoi (il utilise un
    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 les
    informations nécessaires au traitement spécifique sont contenues dans
    le message du courriel ?
    Ce 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
    que je sache


    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Daniel Caillibaud@21:1/5 to All on Fri Dec 2 13:30:01 2022
    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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?utf-8?B?U8OpYmFzdGllbiBNYXJxdWU=?@21:1/5 to All on Tue Dec 6 17:20:01 2022
    Salut,

    suis étonné de ne pas avoir vu parler d'imapfilter: https://github.com/lefcha/imapfilter (et son paquet sur https://packages.debian.org/fr/bullseye/imapfilter)

    C'est L'outil pour effectuer des tâches avec les boîtes mails IMAP. Ça s'utilise avec du lua et ça permet de faire plein de choses toutes plus automagiques les unes que les autres.

    Personnellement je m'en sert pour classer, et nettoyer mes comptes mails, mais je m'en sert aussi d'outil de communication et de "commande" pour imprimer des documents ou obtenir des résultats de calcul:
    https://seb.lautre.net/git/section/apps/blob/master/imapfilter/.imapfilter/config.lua

    En espérant ne pas arriver trop longtemps après la bataille et surtout avoir été utile :)

    @+
    Sébastien

    2 décembre 2022 13:23 "Daniel Caillibaud" <ml@lairdutemps.org> a écrit:

    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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)