У меня есть хорошо работающая конфигурация OpenSMTPD, и я добавил к ней dkimproxy.
Все работает хорошо, и почтовые тестеры и т. д., все сообщают, что у меня есть правильная подпись DKIM, и моя оценка электронной почты составляет 10/10 и т. д.
Проблема в ...
Если я попытаюсь отправить электронное письмо с адреса [email protected] на адрес [email protected], почтовый сервер зациклится, и письмо никогда не будет отправлено. я вижу это в почтовый журнал
:
15 ноя 08:34:13 почта dkimproxy.out[38686]: Подписание DKIM - подписано; message-id=<[email protected]>, signer=<[email protected]>, from=<[email protected]>
15 ноября 08:34:13 почта smtpd[33463]: 4dea90938ef29e98 сообщение smtp msgid=0b62ff80 size=104666 nrcpt=1 proto=ESMTP
15 ноября 08:34:13 почта smtpd[33463]: 4dea90938ef29e98 smtp конверт evpid=0b62ff80eb408785 from=<> to=<[email protected]>
15 ноября 08:34:13 почта smtpd[33463]: 4dea9092f4274d88 mta delivery evpid=6fe8c750a74f16ac from=<> to=<[email protected]> rcpt=<-> source="200.100.240.135" relay="200.100.240.135 (mail.mydomain.com)" delay=1s result="Ok" stat="250 2.0.0 0b62ff80 Сообщение принято к доставке"
... и он повторяется так, может быть, 50 раз снова и снова - в конце концов он сдается с этой ошибкой:
15 ноября 08:34:18 почта smtpd[33463]: предупреждение: обнаружена петля
15 ноября 08:34:18 mail smtpd[33463]: 4dea9097226c93aa smtp failed-command command="DATA" result="500 5.4.6 Обнаружена петля маршрутизации: Обнаружена петля"
15 ноября 08:34:18 почта smtpd[33463]: 4dea90969c6cf495 mta delivery evpid=49514d020281ac48 from=<> to=<[email protected]> rcpt=<-> source="200.100.240.135" relay="200.100.240.135 (mail.mydomain.com)" delay=1s result="PermFail" stat="500 5.4.6 Обнаружена петля маршрутизации: Обнаружена петля"
Я понятия не имею, в чем проблема. Это происходит только тогда, когда я отправляю электронную почту себе или другому пользователю с этим доменом, размещенным на этом почтовом сервере.
# кошка dkimproxy_in.conf
# указать, какой адрес/порт должен прослушивать DKIMproxy
слушать 200.100.240.135:10025
# указать, на какой адрес/порт DKIMproxy пересылает почту
реле 200.100.240.135:10026
# кот dkimproxy_out.conf
# указать, какой адрес/порт должен прослушивать DKIMproxy
слушать 200.100.240.135:10027
# указать, на какой адрес/порт DKIMproxy пересылает почту
реле 200.100.240.135:10028
# укажите, для каких доменов DKIMproxy может подписывать (через запятую, без пробелов)
домен mydomain.com
# указать, какие подписи добавить
подпись dkim(c=расслабленный)
ключи домена подписи (c=nofws)
# указать расположение закрытого ключа
ключевой файл /root/dkim.private.key
# указываем селектор (т.е. имя ключевой записи, помещаемой в DNS)
селектор1
# контролировать, сколько процессов использует DKIMproxy
# - больше информации об этих опциях (и других) можно найти по
# запущен `perldoc Net::Server::PreFork'.
#мин_серверов 5
#min_spare_servers 2
...и на этом все...спасибо.
РЕДАКТИРОВАТЬ - вот opensmtpd.conf:
файл псевдонимов таблицы:/usr/local/etc/mail/aliases
filter check_dyndns фаза подключения соответствует регулярному выражению rdns \
{ '.*\.dyn\..*', '.*\.dsl\..*' } \
отключить «550 без подключения к жилым помещениям»
filter check_rdns совпадение фазы подключения !rdns \
отключить "550 без rDNS"
filter check_fcrdns совпадение фазы соединения !fcrdns \
отключить "550 без FCrDNS"
слушать фильтр 200.100.240.135 {check_dyndns, check_rdns, check_fcrdns}
слушать на 200.100.240.135 порт 10028 тег DKIM
слушать отправку порта 200.100.240.135
действие "local_mail" псевдоним mbox <псевдонимы>
действие "relay_dkim" узел ретрансляции smtp://200.100.240.135:10027
действие "исходящий" ретранслятор helo mail.mydomain.com
совпадение с любой почтой-от "[email protected]" действие "local_mail"
сопоставить тег DKIM для любого действия "исходящее"
соответствует любому действию "relay_dkim"
совпадение с любым для домена "mydomain.com" действие "local_mail"
соответствует локальному действию "local_mail"
совпадение с любой авторизацией для любого действия "исходящее"
соответствует любому действию "исходящее"