131 votes

Envoi d'un mail à partir d'un script shell linux

Je veux envoyer un e-mail à partir d'un script Linux Shell. Quelle est la commande standard pour ce faire et dois-je configurer des noms de serveur spéciaux ?

123voto

Francesco Laurita Points 12027

Si le serveur est bien configuré, par exemple s'il dispose d'un MTA opérationnel, vous pouvez simplement utiliser la commande mail.

Par exemple, pour envoyer le contenu d'un fichier, vous pouvez le faire :

$ cat /path/to/file | mail -s "your subject" your@email.com

man mail pour plus de détails.

10voto

SPRBRN Points 378

Une autre option pour dans un script bash :

mailbody="Testmail via bash script"
echo "From: info@myserver.test" > /tmp/mailtest
echo "To: john@mywebsite.test" >> /tmp/mailtest
echo "Subject: Mailtest subject" >> /tmp/mailtest
echo "" >> /tmp/mailtest
echo $mailbody >> /tmp/mailtest
cat /tmp/mailtest | /usr/sbin/sendmail -t
  • Le fichier /tmp/mailtest est écrasé chaque fois que ce script est utilisé.
  • L'emplacement de sendmail peut différer selon le système.
  • Lorsque vous l'utilisez dans un script cron, vous devez utiliser le chemin absolu pour la commande sendmail.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X