UPD Уже после того, как решил проблему и набросал черновик поста – нашёл это же решение в своём же блоге тут>>>, но этот пост получился более полный.
Содержание
Проблема
При отправке письма с нового EC2 в AWS – письмо не доставляется, а в логе появляется собщение “Mailing to remote domains not supported“.
Отправляем письмо:
[simterm]
root@ip-10-0-1-155:/home/admin# echo Test | mailx -s test [email protected]
[/simterm]
Проверяем лог:
[simterm]
root@ip-10-0-1-155:/home/admin# tail /var/log/exim4/mainlog 2018-01-29 20:48:27 1egGLr-0000eY-Rh <= <> R=1egGLr-0000eW-Qr U=Debian-exim P=local S=1902 2018-01-29 20:48:27 1egGLr-0000eW-Qr Completed 2018-01-29 20:48:27 1egGLr-0000eY-Rh => admin <[email protected]> R=local_user T=mail_spool 2018-01-29 20:48:27 1egGLr-0000eY-Rh Completed 2018-01-29 20:51:18 1egGOc-0000kW-UV <= [email protected] U=root P=local S=477 2018-01-29 20:51:18 1egGOc-0000kW-UV ** [email protected] R=nonlocal: Mailing to remote domains not supported 2018-01-29 20:51:18 1egGOc-0000kY-VN <= <> R=1egGOc-0000kW-UV U=Debian-exim P=local S=1887 2018-01-29 20:51:18 1egGOc-0000kW-UV Completed 2018-01-29 20:51:18 1egGOc-0000kY-VN => /var/mail/mail <[email protected]> R=mail4root T=address_file 2018-01-29 20:51:18 1egGOc-0000kY-VN Completed
[/simterm]
Сама ошибка:
2018-01-29 20:51:18 1egGOc-0000kW-UV ** [email protected] R=nonlocal: Mailing to remote domains not supported
Настройка exim
Запускаем dpkg-reconfigure exim4-config
:
Устанавливаем “internet site; mail is sent and received directly using SMTP“:
Указываем имя хоста:
Указываем принимать почту только с локальных адресов:
Остальное оставляем по умолчанию.
Задаём почтовый ящик root
:
Перезапускаем exim
:
[simterm]
root@ip-10-0-1-155:/home/admin# service exim4 restart
[/simterm]
Проверяем настройки:
[simterm]
root@ip-10-0-1-155:/home/admin# cat /etc/exim4/update-exim4.conf.conf | grep -v \# dc_eximconfig_configtype='internet' dc_other_hostnames='ip-10-0-1-155.eu-west-1.compute.internal' dc_local_interfaces='127.0.0.1 ; ::1' dc_readhost='' dc_relay_domains='' dc_minimaldns='false' dc_relay_nets='' dc_smarthost='' CFILEMODE='644' dc_use_split_config='false' dc_hide_mailname='' dc_mailname_in_oh='true' dc_localdelivery='mail_spool'
[/simterm]
Проверяем имя хоста, используемое MTA (exim
) при отправке:
[simterm]
root@ip-10-0-1-155:/home/admin# cat /etc/mailname dev.rtfm.co.ua
[/simterm]
Отправляем ещё одно письмо:
[simterm]
root@ip-10-0-1-155:/home/admin# echo Test | mailx -s test [email protected]
[/simterm]
Проверяем лог:
[simterm]
2018-01-29 20:57:02 1egGUA-0001Am-5g <= [email protected] U=root P=local S=477 2018-01-29 20:57:03 1egGUA-0001Am-5g => [email protected] R=dnslookup T=remote_smtp H=mail.domain.kiev.ua [77.***.***.20] X=TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256 CV=yes DN="CN=mail.domain.kiev.ua" C="250 OK id=1egGUB-0001z6-Dj" 2018-01-29 20:57:03 1egGUA-0001Am-5g Completed
[/simterm]
Spamassassin и имя хоста
Проверяем на сервере получателя:
[simterm]
22:59:45 [root@venti /home/setevoy] # cat /var/log/maillog | grep 1egGUA-0001Am-5g Jan 29 22:57:03 venti spamd[6734]: spamd: checking message <[email protected]> for nobody:99 Jan 29 22:57:03 venti spamd[6734]: spamd: result: Y 6 - BODY_SINGLE_WORD,DKIM_ADSP_NXDOMAIN,HELO_DYNAMIC_IPADDR,NO_DNS_FOR_FROM,RDNS_NONE scantime=0.4,size=964,user=nobody,uid=99,required_score=5.0,rhost=localhost,raddr=127.0.0.1,rport=48466,mid=<[email protected]>,autolearn=no Jan 29 22:57:04 venti dovecot: lda([email protected]): msgid=<[email protected]>: saved mail to INBOX
[/simterm]
Письмо ушло в ящик [email protected] в соответствии с настройками exim
на этом хосте, причина:
NO_DNS_FOR_FROM,RDNS_NONE
Spamassassin установил уровень вероятности спама в 6, при минимально необходимом 5 (см. Spamassassin: подключаем к Exim на CentOS).
Обновляем имя хоста в /etc/hostname
, что бы оно применялось при каждой загрузке системы:
[simterm]
root@ip-10-0-1-155:/home/admin# echo dev > /etc/hostname
[/simterm]
Обновляем hosts
:
[simterm]
root@ip-10-0-1-155:/home/admin# echo "127.0.0.1 dev.rtfm.co.ua dev localhost" >> /etc/hosts
[/simterm]
Задаём имя хоста сейчас, без перезагрузки:
[simterm]
root@ip-10-0-1-155:/home/admin# hostname dev
[/simterm]
Повторяем отправку:
[simterm]
root@ip-10-0-1-155:/home/admin# echo Test | mailx -s test [email protected]
[/simterm]
Проверяем:
[simterm]
root@ip-10-0-1-155:/home/admin# tail -1 /var/log/exim4/mainlog 2018-01-29 21:12:39 1egGjG-0001fl-Iu Completed
[/simterm]
Проверяем на сервере получателя по ID:
[simterm]
23:12:43 [root@venti /home/setevoy] # cat /var/log/maillog | grep 1egGjG-0001fl-Iu Jan 29 23:12:39 venti spamd[6734]: spamd: checking message <[email protected]> for nobody:99 Jan 29 23:12:39 venti spamd[6734]: spamd: result: . 2 - BODY_SINGLE_WORD,RDNS_NONE scantime=0.2,size=756,user=nobody,uid=99,required_score=5.0,rhost=localhost,raddr=127.0.0.1,rport=48816,mid=<[email protected]>,autolearn=no Jan 29 23:12:39 venti dovecot: lda([email protected]): msgid=<[email protected]>: saved mail to INBOX
[/simterm]
Теперь всё ОК – [email protected]: saved mail to INBOX.
Готово.