Exim: Mailing to remote domains not supported

By | 02/04/2018
 

UPD Уже после того, как решил проблему и набросал черновик поста – нашёл это же решение в своём же блоге тут>>>, но этот пост получился более полный.

Проблема

При отправке письма с нового EC2 в AWS – письмо не доставляется, а в логе появляется собщение “Mailing to remote domains not supported“.

Отправляем письмо:

root@ip-10-0-1-155:/home/admin# echo Test | mailx -s test 1th@domain.kiev.ua

Проверяем лог:

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 <admin@ip-10-0-1-155.eu-west-1.compute.internal> 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 <= root@ip-10-0-1-155.eu-west-1.compute.internal U=root P=local S=477
2018-01-29 20:51:18 1egGOc-0000kW-UV ** 1th@domain.kiev.ua 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 <root@ip-10-0-1-155.eu-west-1.compute.internal> R=mail4root T=address_file
2018-01-29 20:51:18 1egGOc-0000kY-VN Completed

Сама ошибка:

2018-01-29 20:51:18 1egGOc-0000kW-UV ** 1th@domain.kiev.ua 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:

root@ip-10-0-1-155:/home/admin# service exim4 restart

Проверяем настройки:

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'

Проверяем имя хоста, используемое MTA (exim) при отправке:

root@ip-10-0-1-155:/home/admin# cat /etc/mailname
dev.rtfm.co.ua

Отправляем ещё одно письмо:

root@ip-10-0-1-155:/home/admin# echo Test | mailx -s test 1th@domain.kiev.ua

Проверяем лог:

2018-01-29 20:57:02 1egGUA-0001Am-5g <= root@ip-10-0-1-155.eu-west-1.compute.internal U=root P=local S=477
2018-01-29 20:57:03 1egGUA-0001Am-5g => 1th@domain.kiev.ua 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

Spamassassin и имя хоста

Проверяем на сервере получателя:

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 <E1egGUA-0001Am-5g@ip-10-0-1-155.eu-west-1.compute.internal> 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=<E1egGUA-0001Am-5g@ip-10-0-1-155.eu-west-1.compute.internal>,autolearn=no
Jan 29 22:57:04 venti dovecot: lda(spam@domain.org.ua): msgid=<E1egGUA-0001Am-5g@ip-10-0-1-155.eu-west-1.compute.internal>: saved mail to INBOX

Письмо ушло в ящик spam@domain.org.ua в соответствии с настройками exim на этом хосте, причина:

NO_DNS_FOR_FROM,RDNS_NONE

Spamassassin установил уровень вероятности спама в 6, при минимально необходимом 5 (см. Spamassassin: подключаем к Exim на CentOS).

Обновляем имя хоста в /etc/hostname, что бы оно применялось при каждой загрузке системы:

root@ip-10-0-1-155:/home/admin# echo dev > /etc/hostname

Обновляем hosts:

root@ip-10-0-1-155:/home/admin# echo "127.0.0.1 dev.rtfm.co.ua dev localhost" >> /etc/hosts

Задаём имя хоста сейчас, без перезагрузки:

root@ip-10-0-1-155:/home/admin# hostname dev

Повторяем отправку:

root@ip-10-0-1-155:/home/admin# echo Test | mailx -s test 1th@domain.kiev.ua

Проверяем:

root@ip-10-0-1-155:/home/admin# tail -1 /var/log/exim4/mainlog
2018-01-29 21:12:39 1egGjG-0001fl-Iu Completed

Проверяем на сервере получателя по ID:

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 <E1egGjG-0001fl-Iu@dev.rtfm.co.ua> 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=<E1egGjG-0001fl-Iu@dev.rtfm.co.ua>,autolearn=no
Jan 29 23:12:39 venti dovecot: lda(1th@domain.kiev.ua): msgid=<E1egGjG-0001fl-Iu@dev.rtfm.co.ua>: saved mail to INBOX

Теперь всё ОК – E1egGjG-0001fl-Iu@dev.rtfm.co.ua: saved mail to INBOX.

Готово.