Я настроил свой exim4 как локальный mta с доставкой smarthost (debian 10 vm), следуя этому руководству: Exim на DebianWiki
Если мой смарт-хост ожидает ssl-соединение (smtp через ssl), он не работает.
Когда локальное веб-приложение отправляет электронное письмо на адрес localhost:25, оно остается в очереди; если я попытаюсь принудительно доставить его, это произойдет:
root@testbug:~# дата && exim -v -M 1nrqKZ-0003Ji-WE
Пт, 20 мая 2022 г., 10:33:50 CEST
доставка 1nrqKZ-0003Ji-WE
R: смартхост для имя.фамилия@gmail.com
T: remote_smtp_smarthost для имени.фамилия@gmail.com
Транспортный порт = 25 заменен на порт для конкретного хоста = 465
Подключение к smtps.aruba.it [62.149.128.218]:465 ... подключено
=========== застрял на несколько секунд ===========
SMTP(закрыть)>>
ЖУРНАЛ: ГЛАВНЫЙ
H=smtps.aruba.it [62.149.128.218]: удаленный узел закрыл соединение в ответ на начальное соединение.
Транспортный порт = 25 заменен на порт для конкретного хоста = 465
Подключение к smtps.aruba.it [62.149.156.218]:465 ... подключено
=========== застрял на несколько секунд ===========
SMTP(закрыть)>>
ЖУРНАЛ: ГЛАВНЫЙ
H=smtps.aruba.it [62.149.156.218]: удаленный узел закрыл соединение в ответ на начальное соединение.
ЖУРНАЛ: ГЛАВНЫЙ
== [email protected] R=smarthost T=remote_smtp_smarthost defer (-18) H=smtps.aruba.it [62.149.156.218]: удаленный хост закрыл соединение в ответ на первоначальное подключение
Это журнал для этого:
root@testbug:~# tail -3 /var/log/exim4/mainlog
20.05.2022, 10:35:31 1nrqKZ-0003Ji-WE H=smtps.aruba.it [62.149.128.218]: удаленный узел закрыл соединение в ответ на начальное соединение.
20.05.2022, 10:37:11 1nrqKZ-0003Ji-WE H=smtps.aruba.it [62.149.156.218]: удаленный узел закрыл соединение в ответ на начальное соединение.
2022-05-20 10:37:11 1nrqKZ-0003Ji-WE == [email protected] R=smarthost T=remote_smtp_smarthost defer (-18) H=smtps.aruba.it [62.149.156.218]: удаленный хост закрытое соединение в ответ на первоначальное соединение
Обратите внимание, что сервер принимает ssl-соединения:
root@testbug:~# openssl s_client -connect smtps.aruba.it:465
ПОДКЛЮЧЕН(00000003)
depth=2 C = IT, L = Милан, O = Actalis S.p.A./03358520967, CN = Actalis Authentication Root CA
[...]
Имена ЦС сертификата клиента не отправлены
[...]
Проверка: ОК
---
Новый, TLSv1.2, шифр ECDHE-RSA-AES256-GCM-SHA384.
Открытый ключ сервера 2048 бит.
Поддерживается безопасное повторное согласование IS
Сжатие: НЕТ
Расширение: НЕТ
ALPN не согласован
SSL-сессия:
Протокол: TLSv1.2
[...]
---
220 smtpdh08.ad.aruba.it Сервер Aruba Outgoing Smtp ESMTP готов
Если я переключусь на другой сервер smarthost smtp.mydomain.it, запущенный тем же провайдером (поэтому я использую те же учетные данные для аутентификации по сравнению с смарт-хостом) на порту 25 с starttls, все работает гладко, электронные письма доставляются (в starttls), когда я перезапускаю exim:
20.05.2022, 10:42:48 запущен демон exim 4.92: pid=4015, -q30m, прослушивание SMTP на [127.0.0.1]:25 [::1]:25
20.05.2022, 10:42:48 Начать запуск очереди: pid=4017
2022-05-20 10:42:51 1nrqKZ-0003Ji-WE => [email protected] R=smarthost T=remote_smtp_smarthost H=smtp.mydomain.it [62.149.128.203] X=TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384: 256 CV=no DN="C=IT,ST=Bergamo,L=Ponte San Pietro,O=Aruba S.p.A.,CN=*.aruba.it" A=plain C="250 2.0.0 ryDgn51y1TRWPryDinATBj почта принята к доставке"
2022-05-20 10:42:51 1nrqKZ-0003Ji-WE Завершено
2022-05-20 10:42:51 Конец выполнения очереди: pid=4017
Вы можете видеть, что электронная почта правильно доставлена в starttls:
root@testbug:~# ngrep -qt -dany порт 25
интерфейс: любой
фильтр: (порт 25) и (ip || ip6)
T 2022/05/20 10:42:48.900722 62.149.128.203:25 -> MY.SRV.IP.ADDR:47932 [AP] #4
220 smtpdh13.ad.aruba.it Сервер Aruba Outgoing Smtp ESMTP готов..
T 2022/05/20 10:42:48.900903 MY.SRV.IP.ADDR:47932 -> 62.149.128.203:25 [AP] #5
EHLO testbug.mydomain.it..
T 2022/05/20 10:42:49.025487 62.149.128.203:25 -> MY.SRV.IP.ADDR:47932 [AP] #7
250-smtpdh13.ad.aruba.it привет [MY.SRV.IP.ADDR], рад знакомству..250-HELP..250-AUTH LOGIN PLAIN..250-SIZE 524288000..250-ENHANCEDSTATUSCODES..250 -8BITMIME..250-STARTTLS..250 OK..
T 2022/05/20 10:42:49.025702 MY.SRV.IP.ADDR:47932 -> 62.149.128.203:25 [AP] #8
НАЧАЛО..
T 2022/05/20 10:42:49.092110 62.149.128.203:25 -> MY.SRV.IP.ADDR:47932 [AP] #10
220 2.0.0 Готов к запуску TLS..
T 2022/05/20 10:42:49.111151 MY.SRV.IP.ADDR:47932 -> 62.149.128.203:25 [AP] #11
....L...H..d.@"^.`I.....OU..x.N|Z..."...._@..:....... ..,.......+.....0...../.......5.....[...]
Может ли кто-нибудь указать мне правильное направление для расследования?
Может ли это быть проблемой сети/портов?
Или проблема с сертификатом (я генерирую свой самоподписанный сертификат немного по-другому и на самом деле я не знаю, зачем он нужен, и проверяется ли этот сертификат сервером)?
Большое спасибо.
РЕДАКТИРОВАТЬ: получил более подробный вывод для принудительной доставки сообщения: https://pastebin.com/axRsQmwy