J'écris un script Envoi actuellement un courrier électronique avec une pièce jointe: p> Je souhaite ajouter un corps de message. Comment devrais-je? P> Linux MailX: P> shell code> pour envoyer un e-mail à l'aide de Linux mailx code>, l'e-mail doit contenir une pièce jointe mail [-eIinv] [-a header] [-b addr] [-c addr] [-s subj] to-addr
6 Réponses :
Le moyen habituel est d'utiliser pour Solaris et Aix, vous devrez peut-être mettre l'instruction uuencode code> pour les pièces jointes et écho code> pour le corps:
echo code> : em> p>
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
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
Le meilleur moyen est d'utiliser MPACK! P>
mpack -s "Sujet" -d "./body.txt" "././Image.png" MailAdress P>
MPACK - Sujet - Corps - Pièce jointe - MailAdress P>
Vous pouvez essayer ceci:
(cat ./body.txt)|mailx -s "subject text" -a "attchement file" receiver@domain.com
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
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
}
;
Cela devrait avoir toutes les réponses à vos questions: Stackoverflow.com/questions/17359/...