12
votes

Envoi de la pièce jointe du corps de message simple + de la pièce jointe à l'aide de Linux MailX

J'écris un script shell code> pour envoyer un e-mail à l'aide de Linux mailx code>, l'e-mail doit contenir une pièce jointe forte> et une Corps de message strong>.

Envoi actuellement un courrier électronique avec une pièce jointe: p> xxx pré>

Je souhaite ajouter un corps de message. Comment devrais-je? P>

Linux MailX: P>

mail [-eIinv] [-a header] [-b addr] [-c addr] [-s subj] to-addr


1 commentaires

Cela devrait avoir toutes les réponses à vos questions: Stackoverflow.com/questions/17359/...


6 Réponses :


26
votes

Le moyen habituel est d'utiliser uuencode pour les pièces jointes et écho pour le corps: xxx


pour Solaris et Aix, vous devrez peut-être mettre l'instruction echo : xxx


5 commentaires

Essayé d'exécuter le second et il incite une zone vierge et la seule façon de sortir est CTR + C, il semble que le code n'est pas proche, comment puis-je résoudre ce problème?


Et lorsque j'appuie Ctrl + C, il envoie le courrier sans attachement, veuillez vous conseiller.


Est-ce que chacune de ces commandes dans la pipeline fonctionne sur votre système individuellement?


@ Johnsyweb-je dois faire la même activité sans utiliser UuenCode. Est-il possible??


@nikhil: Il y a plusieurs alternatives ici Stackoverflow.com/q/17359/78845



1
votes

La réponse de JohnSyWeb n'a pas fonctionné pour moi, mais cela fonctionne pour moi avec MutT:

echo "Message body" | mutt -s "Message subject" -a myfile.txt recipient@domain.com


0 commentaires

4
votes

Le meilleur moyen est d'utiliser MPACK!

mpack -s "Sujet" -d "./body.txt" "././Image.png" MailAdress

MPACK - Sujet - Corps - Pièce jointe - MailAdress


0 commentaires

0
votes

Vous pouvez essayer ceci:

(cat ./body.txt)|mailx -s "subject text" -a "attchement file" receiver@domain.com


0 commentaires

1
votes

Essayez cela, cela fonctionne pour moi:

(echo "Hello XYX" ; uuencode /export/home/TOTAL_SI_COUNT_10042016.csv TOTAL_SI_COUNT_10042016.csv ) | mailx -s 'Script test' abc@xde.com


0 commentaires

1
votes

On Rhel Linux, j'ai eu des difficultés à obtenir mon message dans le corps du courrier électronique au lieu d'une pièce jointe. En utilisant OD -CX, j'ai trouvé que le corps de mon email contenait plusieurs / r. J'ai utilisé un script Perl pour dépouiller le / r, et le message a été correctement inséré dans le corps de l'e-mail.

    while (<STDIN>) {
        my $currLine = $_;
        s?\r??g;
        print
    }
;


0 commentaires