Нужно установить переменную mailx для указания адреса От
Под управлением Oracle Linux 5.8 (который только что переименован в RedHat EL 5.8) я должен изменить адрес From. Но у нас есть скрипты, использующие mailx, которые нельзя переписать для использования каких-либо дополнительных флагов, поэтому я бы хотел использовать вместо них внутренние переменные, которые, как я вижу на man-странице linux.die.net на mailx, являются альтернативой -r флаг:
адрес
Устанавливает адрес От. Переопределяет любую из переменных, указанных в окружении или файлах запуска. Побеги Тильды отключены. Параметры адреса -r передаются агенту пересылки почты, если не используется SMTP. Эта опция существует только для совместимости; рекомендуется вместо этого устанавливать переменную from напрямую.
(Источник: http://linux.die.net/man/1/mailx)
Как мы можем использовать эти переменные mailx? Я попытался добавить это в /root/.mailrc, не идти:
установить from=FromAddress@Example.com
Я также добавил это в /etc/mail.rc без золота. Так что я обращаюсь к вам, SuperUsers...
5 ответов
Я уверен, что версии имеют значение, но я только что боролся с этой самой проблемой на RH Server 6.7, неправильно прочитав man-страницу mailx, но в итоге я получил ~/.mailrc для работы.
set from=user@example.com
set replyto=user@example.com
делать как из, так и replyto, вероятно, не нужно, но если это того стоит, то стоит перестараться!
Я только что проверил это в 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"
Ни использование -r, ни установка переменной from не работали в моей среде.
У меня всегда есть что-то вроде:
send-mail: 550 5.7.1 ... Invalid from address ....
Что мне помогло, так это добавление псевдонима sSMTP в /etc/ssmtp/revaliases
например,
AccountName:root@machinename.example.com:smtp.example.com
По-видимому, для этого невозможно установить переменную mailx. Это делается с помощью конфигурации Sendmail (или эквивалентной MTA). Но, к сожалению, конфигурация Sendmail для нас не работала, и мы должны использовать флаг -r.
Чтобы добавить ответ Ричарда Бетеля, вы также можете указать полный адрес электронной почты в.mailrc, например:
set from="John Smith <john@example.com>"