Traitement MAILER-DAEMON

Résolu
Bonjour,

Je suis sur un script de gestion des mailer-daemon avec qmail. Mon script me permet de récupérer tous les path des mails contenant la chaine de caractères "MAILER-DAEMON" grâce à
grep -rl /mon/chemin/de/domain/ *

Directement je cherche a nettoyer ce fameux mails afin d'extraire toute les adresses mail du texte. don je me suis orienté sur sed et j'ai codé ca:
M=$(sed "/^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})!d " "/mon/chemin/de/domain/"$i) (c'est executé dans une boucle for ayant $i comme path complet du mailer-daemon)

Logiquement je devrais récupérer dans $M un fichier de mails se trouvant dans le mailer-daemon. Mais parfois on ne peut obtenir se que l'on désire vraiment :-(

Si quelqu'un à une idée......
Configuration: Debian Forever

4 réponses

  1. Que dire... à part MERCI,

    je viens de tester, ca marche je pourrais vraiment tester prochainement lors de l'envoi de ma news mais je resultat est la.

    Merci jipicy ;-)
    1. Modérateur
      Re-

      Et un truc du genre ne ferait pas l'affaire :
      jp@MDK:~/tmpfs ssh$ cat plop
      Return-Path: <>
      Delivered-To: uncompte@undomaine.extension
      From MAILER-DAEMON Fri Aug 28 12:48:43 2009
      Return-Path: <>
      Delivered-To: uncompte@undomaine.extension
      Received: (qmail 11303 invoked by uid 64020); 28 Aug 2009 12:48:43 -0000
      Message-ID: <20090828124843.11302.qmail@mamachine.extension>
      Delivered-To: compte@undomaine.extension
      Received: (qmail 11298 invoked for bounce); 28 Aug 2009 12:48:43 -0000
      Date: 28 Aug 2009 12:48:43 -0000
      From: MAILER-DAEMON@mamachine.extension
      To: compte@undomaine.extension
      Subject: failure notice
      X-Virus-Status: No
      X-Virus-Checker-Version: clamassassin 1.2.4 with clamdscan / ClamAV 0.94.2/9756/Fri Aug 28 12:43:25 2009
      X-Bogosity: Unsure, tests=bogofilter, spamicity=0.520000, version=1.1.3
      
      Hi. This is the qmail-send program at mamachine.extension.
      I'm afraid I wasn't able to deliver your message to the following addresses.
      This is a permanent error; I've given up. Sorry it didn't work out.
      
      <adresse@invalide.extension>:
      123.456.789.101 does not like recipient.
      Remote host said: 450 Please try later
      Giving up on 123.456.789.101
      I'm not going to try again; this message has been in the queue too long.
      
      jp@MDK:~/tmpfs ssh$ grep -oe '\b\w*.\w*@\w*.\w*.\w\+' plop | sort -u
      11302.qmail@mamachine.extension
      adresse@invalide.extension
      compte@undomaine.extension
      MAILER-DAEMON@mamachine.extension
      uncompte@undomaine.extension
      
      jp@MDK:~/tmpfs ssh$
      ;-))
      1. Salut,

        Voici un exemple parmis d'autre .... (c'est pour ca que je veux traiter tout les mails présent d'un mailer-daemon):

        Return-Path: <>
        Delivered-To: uncompte@undomaine.extension
        From MAILER-DAEMON Fri Aug 28 12:48:43 2009
        Return-Path: <>
        Delivered-To: uncompte@undomaine.extension
        Received: (qmail 11303 invoked by uid 64020); 28 Aug 2009 12:48:43 -0000
        Message-ID: <20090828124843.11302.qmail@mamachine.extension>
        Delivered-To: compte@undomaine.extension
        Received: (qmail 11298 invoked for bounce); 28 Aug 2009 12:48:43 -0000
        Date: 28 Aug 2009 12:48:43 -0000
        From: MAILER-DAEMON@mamachine.extension
        To: compte@undomaine.extension
        Subject: failure notice
        X-Virus-Status: No
        X-Virus-Checker-Version: clamassassin 1.2.4 with clamdscan / ClamAV 0.94.2/9756/Fri Aug 28 12:43:25 2009
        X-Bogosity: Unsure, tests=bogofilter, spamicity=0.520000, version=1.1.3

        Hi. This is the qmail-send program at mamachine.extension.
        I'm afraid I wasn't able to deliver your message to the following addresses.
        This is a permanent error; I've given up. Sorry it didn't work out.

        <adresse@invalide.extension>:
        123.456.789.101 does not like recipient.
        Remote host said: 450 Please try later
        Giving up on 123.456.789.101
        I'm not going to try again; this message has been in the queue too long.

        Après c'est mail. Mais je repete mais il s'agit que d'une forme il en existe d'autre en fonction de qui répond (mon MDA ou leur MTA)....

        D'autre son plus court.

        J'ai fais pleins de scripts qui ne sélectionnaient que certaine ligne du mail et les autres il les supprimait (en sed).

        Mais j'aurais vraiment trop de cas a traiter donc je souhaite que tout se qui correspond à ma regex (M=$(sed "/^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})!d " "/mon/chemin/de/domain/"$i)) soit copier dans un fichier texte pour traitement ulterieur.
        1. Modérateur
          Salut,

          Affiche un exemple de fichier s'il te plait.
          Et aussi ce que tu veux récupérer en sortie...