¿Cómo establecer la dirección de correo electrónico de Mailx comando?


Estoy trabajando en un script KornShell (ksh) que se ejecuta en un servidor Solaris que enviará un correo electrónico cuando se cumpla la condición de error. Estoy enviando el correo electrónico a través de mailx.

Pregunta: ¿Cómo puedo configurar la dirección de correo electrónico " De " en el comando mailx?

Código Actual:

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

Nota: El comando funciona bien, sin embargo, el "De" es el nombre del usuario que estoy ejecutando el script como y me gustaría para esto a otra dirección de correo electrónico.

¿Cómo podría lograr esto?

Author: sth, 2009-08-19

7 answers

Puede usar la opción "- r " para establecer la dirección del remitente:

mailx -r [email protected] -s ...
 35
Author: sth,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-08-18 22:55:38

La opción "-r" no es válida en mis sistemas. Tuve que usar una sintaxis diferente para el campo "De".

-a "From: Foo Bar <[email protected]>"
 33
Author: Finch_Powers,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-08-28 14:19:53

En caso de que también desee incluir su nombre real en el campo de -, puede utilizar el siguiente formato

mailx -r "[email protected] (My Name)" -s "My Subject" ...

Si tienes caracteres no ASCII en tu nombre, como Mi AEÆoeøaaå (Æ = C3 86, ø = C3 B8, å = C3 A5), tienes que codificarlos así:

mailx -r "[email protected] (My =?utf-8?Q?AE=C3=86oe=C3=B8aa=C3=A5?=)" -s "My Subject" ...

¡Espero que esto pueda ahorrarle a alguien una hora de trabajo duro / investigación!

 22
Author: Rune,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-11-25 18:10:32

En debian donde bsd-mailx está instalado por defecto, la opción -r no funciona. Sin embargo, puede usar mailx -s subject [email protected] -- -f [email protected] en su lugar. De acuerdo con la página man, puede especificar las opciones de sendmail después de --.

 9
Author: Marki555,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-07-26 20:29:19

El paquete nail proporciona una interfaz mejorada similar a mailx. Incluye la opción -r.

En Centos 5 instalar el paquete mailx le da un programa llamado mail, que no soporta las opciones mailx.

 1
Author: Neik,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-09-25 09:43:37

En macOS Sierra, creando ~/.mailrc con la configuración smtp hizo el truco:

set smtp-use-starttls
set smtp=smtp://smtp.gmail.com:587
set smtp-auth=login
set [email protected]
set smtp-auth-password=yourpass

Luego para enviar correo desde CLI:

echo "your message" | mail -s "your subject" [email protected]
 0
Author: kitschmaster,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-06-10 08:14:30

En Ubuntu Bionic 18.04, esto funciona como se desea:

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

 0
Author: woohoo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-05-21 23:39:45