Comment définir L'adresse e-mail de la commande mailx?

Je travaille sur un script KornShell (ksh) exécuté sur un serveur Solaris qui enverra un e-mail lorsque la condition d'erreur est remplie. Je suis de l'envoi de l'email par l'intermédiaire de mailx.

Question: Comment définir l'adresse e-mail" From " sur la commande mailx?

Code Actuel:

echo ${msg_txt} | mailx -s "Script Failure" ${to_email}

Note: la commande fonctionne bien, cependant, le" From " est le nom de l'utilisateur que j'exécute le script et je voudrais pour cela à une autre adresse e-mail.

Comment le ferais-je accomplir cela?

29
demandé sur sth 2009-08-19 02:43:55

7 réponses

Vous pouvez utiliser l'option "-r" option pour définir l'adresse de l'expéditeur:

mailx -r me@example.com -s ...
35
répondu sth 2009-08-18 22:55:38

L'option" - r " n'est pas valide sur mes systèmes. J'ai dû utiliser une syntaxe différente pour le champ "De".

-a "From: Foo Bar <foo.bar@someplace.com>"
33
répondu Finch_Powers 2013-08-28 14:19:53

Si vous souhaitez également inclure votre vrai nom dans le champ from, vous pouvez utiliser le format suivant

mailx -r "me@example.com (My Name)" -s "My Subject" ...

Si vous avez des caractères non-ASCII dans votre nom, comme mon AEÆoeøaaå (Æ = C3 86, ø = C3 B8, å = C3 A5), vous devez les encoder comme ceci:

mailx -r "me@example.com (My =?utf-8?Q?AE=C3=86oe=C3=B8aa=C3=A5?=)" -s "My Subject" ...

J'espère que cela peut sauver quelqu'un une heure de travail acharné/recherche!

22
répondu Rune 2012-11-25 18:10:32

Sur debian où bsd-mailx est installé par défaut, l'option -r ne fonctionne pas. Cependant, vous pouvez utiliser mailx -s subject recipient@abc.com -- -f sender@abc.com à la place. Selon la page de manuel, vous pouvez spécifier les options sendmail après --.

9
répondu Marki555 2013-07-26 20:29:19

Le paquet nail fournit une interface améliorée de type mailx. Il inclut l'option -r.

Sur Centos 5 l'installation du paquet mailx Vous donne un programme appelé mail, qui ne prend pas en charge les options mailx.

1
répondu Neik 2014-09-25 09:43:37

Sur macOS Sierra, création de ~/.mailrc avec la configuration smtp a fait l'affaire:

set smtp-use-starttls
set smtp=smtp://smtp.gmail.com:587
set smtp-auth=login
set smtp-auth-user=youremail@gmail.com
set smtp-auth-password=yourpass

Puis pour envoyer un courrier de CLI:

echo "your message" | mail -s "your subject" to_email@gmail.com
0
répondu kitschmaster 2017-06-10 08:14:30

Sur Ubuntu Bionic 18.04, cela fonctionne comme vous le souhaitez:

$ echo -e "testing email via yourisp.com from command line\n\nsent on: $(date)" | mailx --append='FROM:Foghorn Leghorn <fleghorn@yourisp.com>' -s "test cli email $(date)" -- recipient@acme.com

0
répondu woohoo 2018-05-21 23:39:45