Question :Comment envoyer un e-mail avec pièce jointe à partir de la ligne de commande Linux (ou d'un script shell) ? Puis-je également envoyer à la fois une pièce jointe et le corps du texte dans un e-mail à partir de la ligne de commande Linux ?
Répondre :Vous pouvez envoyer à la fois la pièce jointe et le corps du texte (ou simplement la pièce jointe avec une ligne d'objet) à partir de la ligne de commande Linux, comme expliqué ci-dessous.
1. Envoyer un e-mail avec objet et corps
En règle générale, vous enverriez un e-mail à partir de la ligne de commande Linux avec une ligne d'objet et un corps de texte, comme indiqué ci-dessous. Veuillez noter que vous devez taper un . (point) sur une ligne séparée pour indiquer que le corps du texte est terminé.
$ mail [email protected] Subject: Email Testing from Linux Dear, It is very easy to send an email from Linux command line. Thanks, Ramesh . Cc: [email protected]
Si vous souhaitez lire le corps du texte d'un fichier (par exemple, body-message.txt), envoyez l'e-mail comme indiqué ci-dessous.
$ cat body-message.txt | mail -s "Email testing from Linux" [email protected]
2. Envoyer un e-mail avec pièce jointe
Pour envoyer une pièce jointe à partir de l'e-mail, utilisez la commande uuencode. Sur RedHat (et les distributions associées), uuencode fait partie du package sharutils. Alors, installez les sharutils comme indiqué ci-dessous.
# rpm -ivh sharutils-4.6.1-2.i386.rpm Preparing... ############################## [100%] 1:sharutils ############################## [100%]
Une fois que vous avez confirmé que vous avez uuencode, envoyez l'e-mail avec une pièce jointe comme indiqué ci-dessous.
$ uuencode input-attachment.txt output-attachment.txt | \ mail -s "Email With Attachment" [email protected]
Dans cet exemple,
- input-attachment.txt est le fichier que vous souhaitez joindre à l'e-mail.
- Si vous souhaitez que le fichier soit attaché avec un nom différent, spécifiez-le comme 2ème paramètre du uuencode. Dans cet exemple, le contenu du fichier input-attachment.txt sera joint en tant que output-attachment.txt
Remarque :uuencode peut également être utilisé pour envoyer des pièces jointes en base64, comme indiqué ci-dessous.
$ uuencode -m input-attachment.txt output-attachment.txt | \ mail -s "Email With Base64 Attachment" [email protected]
3. Envoyer un e-mail avec pièce jointe et corps
Vous pouvez envoyer un e-mail avec à la fois une pièce jointe et un corps de message, comme indiqué ci-dessous.
$ ( cat body-message.txt; uuencode input-attachment.txt output-attachment.txt ) \ | mail -s "Email With Body Text and Attachment" [email protected]