Как установить команду From email address for mailx?
Я работаю над сценарием KornShell (ksh), запущенным на сервере Solaris, который будет отправлять электронное письмо при выполнении условия ошибки. Я отправляю электронное письмо через mailx.
вопрос: Как установить адрес электронной почты " от " в команде mailx?
Текущий Код:
echo ${msg_txt} | mailx -s "Script Failure" ${to_email}
Примечание: команда работает нормально, однако "от" - это имя пользователя, с которым я запускаю скрипт, и я хотел бы для этого другого адрес электронной почты.
Как бы я это сделал?
7 ответов
вы можете использовать опцию "-r", чтобы установить адрес отправителя:
mailx -r me@example.com -s ...
параметр"- r " недопустим в моих системах. Мне пришлось использовать другой синтаксис для поля "From".
-a "From: Foo Bar <foo.bar@someplace.com>"
Если вы также хотите включить свое настоящее имя в поле from, вы можете использовать следующий формат
mailx -r "me@example.com (My Name)" -s "My Subject" ...
Если у вас есть не-ASCII символы в вашем имени, как мой AEÆoeøaaå (Æ= C3 86, ø= C3 B8, å= C3 A5), вы должны закодировать их следующим образом:
mailx -r "me@example.com (My =?utf-8?Q?AE=C3=86oe=C3=B8aa=C3=A5?=)" -s "My Subject" ...
надеюсь, что это может сэкономить кому-то час тяжелой работы / исследований!
на debian где bsd-mailx
установлен по умолчанию не работает. Однако вы можете использовать mailx -s subject recipient@abc.com -- -f sender@abc.com
вместо. Согласно man-странице, вы можете указать параметры sendmail после --
.
пакета nail
обеспечивает расширенный интерфейс mailx, как. Он включает в себя .
на Centos 5 Установка пакета mailx
дает вам программу под названием mail
, который не поддерживает mailx
параметры.
на macOS Sierra, создание ~/.mailrc с настройкой smtp сделал трюк:
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
затем отправить почту из CLI:
echo "your message" | mail -s "your subject" to_email@gmail.com
на Ubuntu Bionic 18.04 это работает по желанию:
$ 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