• [^] # Re: Python + email

    Posté par (site web personnel) . En réponse au message Découpage d'un fichier EML. Évalué à 4.

    En bash, c'est assez difficile de traiter des emails.

    Tout dépend de ce que tu veux faire: récupérer le corps de l'EMail n'est quand même pas si compliqué qu'il faille jeter son script shell pour transformer son programme en script Python.

    On tire au maximum parti de l'architecture d'UNIX lorsqu'on utilise le shell pour coordonner les traitements: presque tous les langages on un accès au shell, et on obtient une réutalisabilité de tous ces efforts.

    Pour la question de récuperer le corps, tu peux définir la fonction

    eml_get_body() {
     awk 'BEGIN{ flag=0 } {if(flag) print } /^\r?$/ { flag=1}'
    }
    

    et l'utiliser comme suit
    body=`eml_get_body < message.eml`
    

    Attention aux useless use of cat: au lieu de faire cat & pipe il vaut mieux utiliser un opérateur de redirection (les chevrons), comme dans

    grep -e '^To:' < message.eml
    

    ou l'exemple précédent.