Назад | Перейти на главную страницу

Принудительный адрес электронной почты. Cron отправляется ОТ

Я использую Ubuntu на AWS и использую их SES (Simple Email Service) и sSmtp для отправки журналов электронной почты, поскольку это единственная потребность в электронной почте на сервере.

У меня есть ssmtp, и все работает, за исключением писем, отправленных из заданий cron, которые отклоняются из-за адреса From :. SES требует, чтобы адреса электронной почты From: и To: были проверены, но электронное письмо, отправленное из cron, и просто rootне root@mydomain.com.

Есть ли способ установить полный адрес электронной почты, который cron использует в качестве адреса От:, или есть способ заставить ssmtp перезаписать От: когда это просто имя без домена?

Мой ssmtp.conf выглядит так:

root=logs@mydomain.com
mailhub=email-smtp.us-east-1.amazonaws.com:465
rewriteDomain=mydomain.com
hostname=mydomain.com
#UseSTARTTLS=YES
UseTLS=YES
AuthUser=XXXX
AuthPass=XXXX
AuthMethod=LOGIN
FromLineOverride=YES

Спасибо.

cron использует sendmail команда для отправки писем. Обычно почтовый сервер добавляет домен, поэтому в вашем случае это потребуется ssmtp.

Раньше я никогда не использовал sSMTP, но перезапись отправителя кажется довольно странной. Я посмотрел исходный код и там есть файл /etc/ssmtp/revaliases.

Пример перечисляет это:

# sSMTP aliases
#
# Format:       local_account:outgoing_address:mailhub
#
# Example: root:your_login@your.domain:mailhub.your.domain[:port]
# where [:port] is an optional port number that defaults to 25.

В вашем случае возможно:

root:logs@mydomain.com:email-smtp.us-east-1.amazonaws.com:465

Поскольку в Ubuntu невозможно изменить адрес From :, который отправляет cron, я нашел хакерское решение. Возможно, это не лучший способ, но, похоже, он работает.

Когда ssmtp установлен, он создает ссылку из /usr/sbin/sendmail к /usr/sbin/ssmtp. Я удалил ссылку и создал файл sendmail, содержащий следующее:

sed "s/From: root /From: root@mydomain.com /" | /usr/sbin/ssmtp $*

Теперь любое письмо, отправленное из root будет переписан на root@mydomain.com