Envoyez plusieurs fichiers par e-mail et ajoutez également un message corps à l’e-mail (Unix Korn Shell)

J’essaie d’envoyer plusieurs fichiers par courrier électronique, mais j’inclus également un message dans le courrier électronique, j’ai essayé plusieurs manières sans succès, le code suivant est pour envoyer plusieurs fichiers:

(uuencode file1.txt file1.txt ; uuencode file2.txt file2.txt) | mailx -s "test" email@test.com

J’ai essayé cette option sans succès:

echo "This is the body message" | (uuencode file1.txt file1.txt ; uuencode file2.txt file2.txt) | mailx -s "test" [email protected]

aucune idée comment pourrait être le code?

Essaye ça:

 (echo "This is the body message"; uuencode file1.txt file1.txt; uuencode file2.txt file2.txt) | mailx -s "test" [email protected] 

Le problème avec votre commande est que vous dirigez la sortie de l’ echo dans le sous-shell et qu’elle est ignorée car uuencode ne lit pas stdin.

Vous pouvez utiliser { ... } pour éviter le sous-shell:

 { echo "This is the body message"; uuencode file1.txt file1.txt; uuencode file2.txt file2.txt; } | mailx -s "test" [email protected] 

Si vous le faites dans un script et que vous voulez qu’il soit plus lisible, alors:

 { echo "This is the body message" uuencode file1.txt file1.txt uuencode file2.txt file2.txt } | mailx -s "test" [email protected]