Нужно установить переменную mailx для указания адреса От

10476
SlowBro

Под управлением Oracle Linux 5.8 (который только что переименован в RedHat EL 5.8) я должен изменить адрес From. Но у нас есть сценарии, использующие mailx, которые нельзя переписать для использования каких-либо дополнительных флагов, поэтому я бы хотел использовать вместо них внутренние переменные, которые, как я вижу на man-странице linux.die.net в mailx, являются альтернативой -r флаг:

-r адрес
Устанавливает адрес От. Переопределяет любую из переменных, указанных в окружении или файлах запуска. Побеги Тильды отключены. Параметры адреса -r передаются агенту пересылки почты, если не используется SMTP. Эта опция существует только для совместимости; рекомендуется вместо этого устанавливать переменную from напрямую.

(Источник: http://linux.die.net/man/1/mailx )

Как мы можем использовать эти переменные mailx? Я попытался добавить это в /root/.mailrc, не идти:

набор from=FromAddress@Example.com

Я также добавил это в /etc/mail.rc без золота. Так что я обращаюсь к вам, SuperUsers ...

2

5 ответов на вопрос

2
Benjamin

Я только что проверил это в Ubuntu 14.04 и у меня сработал параметр -S:

-S variable[=value] Sets the internal option variable and, in case of a string option, assigns value to it. 

Итак, следующая команда устанавливает адрес отправителя в «test@exmaple.org»:

echo "This is my test" | mail -S from="test@example.org" -s "This is my subject" "receiver@exmaple.org" 
2
lava37

Neither using -r nor setting the from variable worked in my environment.

I always got something like:

send-mail: 550 5.7.1 ... Invalid from address .... 

What worked for me was adding an sSMTP alias to /etc/ssmtp/revaliases, e.g.

accountname:root@machinename.example.com:smtp.example.com

1
SlowBro

Apparently it's not possible to set a mailx variable to do this. This is done with a Sendmail (or equivalent MTA) configuration. But unfortunately no Sendmail configuration was workable for us, and we have to use the -r flag.

Debian 9 stretch, mailx: опция -r работает, опция -S недоступна woohoo 6 лет назад 0
1
Richard Betel

Я уверен, что версии имеют значение, но я только что боролся с этой самой проблемой на RH Server 6.7, неправильно прочитав manx-страницу mailx, но в итоге я получил ~ / .mailrc для работы.

set from=user@example.com set replyto=user@example.com 

делать как из, так и replyto, вероятно, не нужно, но если это того стоит, стоит переборщить!

0
John

Чтобы добавить ответ Ричарда Бетеля, вы также можете указать полный адрес электронной почты в .mailrc, например:

set from="John Smith <john@example.com>" 

Похожие вопросы