IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

mailx & mmencode


Sujet :

Shell et commandes GNU

  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2012
    Messages : 12
    Par défaut mailx & mmencode
    Bonjour à tous !

    J'ai un très gros souci pour joindre des fichiers dans un mail en ligne de commande (ils se retrouvent à la fin du corps du texte en non pas en pièce jointe).
    Je précise que je ne peux ni utiliser mutt, ni uuencode. Je n'ai que mail, mailx et mmencode.
    J'ai vu des exemples avec mailx et uuencode, et j'ai essayé de transposer, mais ça ne marche pas

    Je précise aussi que je suis sous Linux RedHat 5.7.

    Voici ce que j'écris ('texte_mail_save.txt' est le corps du texte déjà écrit) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    cp texte_mail_save.txt texte_mail.txt
    mmencode fichier_joint.txt >> texte_mail.txt
    mailx -s "test console" user@domain.fr < texte_mail.txt
    Un 2e test a été :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    cat texte_mail_save.txt > texte_mail.txt
    zip -T fichier_joint.zip fichier_joint.txt
    mmencode fichier_joint.zip -o fichiermme.zip
    echo -e "\n" >> texte_mail.txt
    cat fichiermme.zip >> texte_mail.txt
    mailx -s "test console" user@domain.fr  < texte_mail.txt
    Et je me retrouve à chaque fois avec la pièce jointe dans le corps du texte (à la fin).
    J'ai fait un gros tour dans Google et j'ai essayé pas mal de chose :
    - les options de mmencode
    - rajouter une entrée et un espace dans texte_mail_save.txt (pour séparer le corps de la pièce jointe) (l'un, ou, l'autre, ou, l'un et l'autre, et dans les 2 sens...)
    - ou meme faire (sans corps de texte) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mmencode -o fichier_joint.txt fichier_joint.txt | mailx -s "test console" user@domain.fr
    Rien y fait !!

    Y a-t-il vraiment un moyen d'utiliser mmencode avec mailx pour envoyer une pièce jointe ou dois-je faire un (très) gros forcing au gars du système (je suis en entreprise et ils sont assez débordés en ce moment) pour avoir mutt ?

    Merci de votre aide !
    P.S : c'est normal qu'aucun bouton de la fenetre pour écrire un message sur le forum ne marche ? (par exemple, les balises CODE, j'ai du les écrire à la main)

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 102
    Par défaut
    Citation Envoyé par Il Dodo Voir le message
    Et je me retrouve à chaque fois avec la pièce jointe dans le corps du texte (à la fin).
    Qu'est-ce qui te permet de dire cela? Avec quel outil l'as-tu constaté? As-tu ouvert le mail reçu avec mailx?

    P.S : c'est normal qu'aucun bouton de la fenetre pour écrire un message sur le forum ne marche ? (par exemple, les balises CODE, j'ai du les écrire à la main)
    àmha, ce n'est pas normal! En tout cas, chez moi, ça marche (avec firefox, sous Ubuntu, dans VirtualBox, sous Windoze XP)

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2012
    Messages : 12
    Par défaut
    Citation Envoyé par jack-ft Voir le message
    Qu'est-ce qui te permet de dire cela? Avec quel outil l'as-tu constaté? As-tu ouvert le mail reçu avec mailx?
    J'ai envoyé le mail sur une des mes adresses mails et je l'ai ouvert ^^.
    Sur tous mes tests, je n'ai jamais reçu un mail avec une pièce jointe, mais le code de la pièce jointe à la fin du corps du mail.


    Citation Envoyé par jack-ft Voir le message
    àmha, ce n'est pas normal! En tout cas, chez moi, ça marche (avec firefox, sous Ubuntu, dans VirtualBox, sous Windoze XP)
    Ben, moi, ça ne marche toujours pas . Les citations aussi, je dois les écrire à la main. Mais bon, pour internet, je dois utiliser une machine Solaris qui me fait des trucs pas très propres des fois (je peux pas écrire d'accents circonflexes par exemple et ça me fait ça uniquement dans Firefox). Et j'ai Firefox 3.6.

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 102
    Par défaut
    Citation Envoyé par Il Dodo Voir le message
    J'ai envoyé le mail sur une des mes adresses mails et je l'ai ouvert ^^.
    Oui, j'entends bien, mais ma question était "avec quel outil l'as-tu constaté?"... que je réitère donc...
    S'agit-il de Mail.app, Thunderbird, Netscape messenger, d'un webmail comme gmail ou d'un autre outil qui pourrait avoir la désobligeante tendance à interpréter le contenu du mail?

    Le mieux serait de l'envoyer vers une machine unix (ou linux) et de regarder son contenu avec vi ou emacs.

    Cela dit, j'espère que d'autres répondront car je ne suis pas spécialiste en ce domaine!

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2012
    Messages : 12
    Par défaut
    Je l'ai ouvert avec un webmail (Microsoft Outlook WebApp).

    Le souci, c'est que cela doit etre intégré dans un logiciel (pour l'instant je fais des tests pour que ça marche avec un exemple simple) pour qu'une personne reçoive des mails d'alerte.

    Mails que la personne lira avec Microsoft Outlook WebApp...
    Donc, si ça ne marche pas avec, c'est pas bon :p

    Maintenant, je comprends aussi la démarche de l'envoyer vers une machine Unix pour que je vois un peu mieux le problème. Mais je ne sais pas comment faire. Une idée ?

  6. #6
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 102
    Par défaut
    Citation Envoyé par Il Dodo Voir le message
    Maintenant, je comprends aussi la démarche de l'envoyer vers une machine Unix pour que je vois un peu mieux le problème. Mais je ne sais pas comment faire. Une idée ?
    Ben, là, c'est assez facile! Tu peux l'envoyer vers ta propre machine! (puisque c'est une linux)

    avec juste "mailx -s "test console" $USER < texte_mail.txt"

    et tu le récupères dans $MAIL (en général /var/spool/mail/$USER)... à vérifier...

  7. #7
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2012
    Messages : 12
    Par défaut
    j'ai essayé ce que tu viens de me dire, mais je me heurte à la jungle du système.

    Le mail semble etre bien parti (et arrivé ?), mais je ne sais pas où !
    En tout cas, $MAIL n'existe toujours pas, meme après avoir attendu plus d'une heure...

    Je continue à chercher...

  8. #8
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2012
    Messages : 12
    Par défaut
    Double post volontaire (ça fait 5 jours)....

    Bon, j'ai enfin réussi à m'envoyer des mails là où je peux les ouvrir avec un éditeur de texte.... (heureusement que j'avais d'autres problèmes ailleurs pour me changer les idées ... :-p)

    Là où ça marche avec Solaris et où ça ne marche pas avec Linux (parce que la toute base du problème, c'est ça : portage de programmes de Solaris vers Linux, et il y a utilisation de mailx dans certaines de ces programmes...), c'est un saut de ligne de mailx qui est rajouté pour Linux.

    Un exemple sera plus explicite.
    Mail reçu quand Solaris envoie le mail :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    From user@domain.fr  Mon Nov 26 13:14:45 2012
    Return-Path: <user@domain.fr>
    X-Original-To: user@domain.fr
    Delivered-To: user@domain.fr
    Received: from machine_nom_long (localhost [127.0.0.1])
    	by machine_nom_long (Postfix) with ESMTP id xxxxxx
    	for <user@domain.fr>; Mon, 26 Nov 2012 13:14:45 +0000 (GMT)
    Received: (from user@localhost)
    	by machine_nom_long (8.14.4+Sun/8.14.4/Submit) id yyyyy
    	for user; Mon, 26 Nov 2012 13:14:45 GMT
    Date: Mon, 26 Nov 2012 13:14:45 GMT
    From: user@domain.fr
    Message-Id: <xyz@domain.Fr>
    To: user@domain.fr
    Subject: TEST
    Content-Type: multipart/mixed; boundary="----OCC_BOUNDARY"
     
    ------OCC_BOUNDARY
    Content-Type: text/plain; charset="ISO-8859-1"
    Content-Transfer-Encoding: quoted-printable
     
     
     
     
    TEST
    PS: this mail contains 1 attachments:
         - 1 - tmp_CCSDS.edem
     
     
    ------OCC_BOUNDARY
    Content-Type: text/plain; name="tmp_CCSDS.edem"
    Content-Transfer-Encoding: quoted-printable
    Content-Disposition: attachment; filename="tmp_CCSDS.edem"
     
     
    ---> ici, fichier encodé via la commande
    mmencode -q fichierAEncoder -o fichierEncode<---
     
    ------OCC_BOUNDARY--
    Et quand c'est Linux qui envoie le mail :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    From user@domain.fr  Mon Nov 26 13:27:46 2012
    Return-Path: <user@domain.fr>
    X-Original-To: user@domain.fr
    Delivered-To: user@domain.fr
    Received: from nom_machine_long (nom_machine_court [256.256.256.256])
    	by domain.fr (Postfix) with ESMTP id xxxxxxx
    	for <user@domain.fr>; Mon, 26 Nov 2012 13:27:46 +0000 (GMT)
    Received: by nom_machine_long (Postfix, from userid yyyy)
    	id zzzzzz; Mon, 26 Nov 2012 13:27:46 +0000 (UTC)
    To: user@domain.fr
    Subject: TEST
    Message-Id: <20121126132746.050A136B8F@nom_machine_long>
    Date: Mon, 26 Nov 2012 13:27:46 +0000 (UTC)
    From: user@domain.fr (Prénom Nom - Entreprise)
     
    To: user
    Subject: TEST
    Content-Type: multipart/mixed; boundary="----OCC_BOUNDARY"
     
    ------OCC_BOUNDARY
    Content-Type: text/plain; charset="ISO-8859-1"
    Content-Transfer-Encoding: quoted-printable
     
     
     
     
    TEST
    PS: this mail contains 1 attachments:
         - 1 - tmp_CCSDS.edem
     
     
    ------OCC_BOUNDARY
    Content-Type: text/plain; name="tmp_CCSDS.edem"
    Content-Transfer-Encoding: quoted-printable
    Content-Disposition: attachment; filename="tmp_CCSDS.edem"
     
    ---> ici, fichier encodé via la commande
    mmencode -q fichierAEncoder -o fichierEncode<---
     
    ------OCC_BOUNDARY--
    A la ligne 15 du code Linux, il y a un saut de ligne, qu'on ne retrouve pas dans Solaris.
    Les lignes suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    To: user
    Subject: TEST
    Content-Type: multipart/mixed; boundary="----OCC_BOUNDARY"
    sont rajoutées par le code du programme et servent sous Solaris à remplir les champs 'destinataires', 'sujet' et... 'pièces jointes'.
    Sauf que sous Solaris, ce rajout ce fait sans saut de ligne, et les éditeurs de mails doivent lire les entetes de mails jusqu'à ce qu'ils trouvent une ligne vide.
    Car, typiquement, un webmail, en lisant le mail envoyé par Linux commence effectivement par les 3 lignes que je viens de citer.

    Du coup, je n'ai aucune idée de comment procéder pour ajouter une pièce jointe. Quelqu'un pourrait-il transmettre le code entier d'un mail avec pièce jointe en utilisant uuencode (normalement, ça s'utilise de la meme manière que j'ai utilisé mmencode dans mon 1er post). Je n'ai pas cet encodeur au travail, et savoir comment ça encode le mail pour ajouter la pièce jointe m'aiderait grandement !

    Merci !!

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo