Exim: Mailing to remote domains not supported

Автор: | 04/02/2018
 

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.

Готово.