Я пытаюсь настроить Postfix так, чтобы он принимал почту от аутентифицированный клиенты за пределами $mynetworks
.
Когда я пытаюсь отправить тестовое электронное письмо со своего iPhone, который настроен на использование порта 25, SSL и аутентификации по паролю, почта отклоняется Postfix. Я получаю следующее в /var/log/mail.info
:
25 октября 17:41:35 mailhost postfix / smtpd [6136]: предупреждение: 212.183.x.x: имя хоста host212-183-x-x.uk.access.vodafone.net проверка не удалась: имя или служба неизвестны
25 октября 17:41:35 mailhost postfix / smtpd [6136]: подключение от неизвестного [212.183.x.x]
25 октября 17:41:39 mailhost postfix / smtpd [6136]: NOQUEUE: reject: RCPT from unknown [212.183.x.x]: 554 5.7.1: клиентский хост отклонен: доступ запрещен; от = <aix@x.com> до = <aix@x.com> proto = ESMTP helo = <[10.25.x.x]>
25 октября 17:41:39 mailhost postfix / smtpd [6136]: отключение от неизвестного [212.183.x.x]
Вот все мои main.cf
настройки, относящиеся к SASL / TLS:
smtpd_tls_cert_file = /etc/ssl/certs/ssl-mail.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-mail.key
smtpd_use_tls = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/dovecot-auth
smtpd_sasl_authenticated_header = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = reject_unknown_sender_domain, reject_unknown_recipient_domain, reject_unauth_pipelining, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtp_use_tls = yes
smtpd_tls_received_header = yes
smtpd_tls_mandatory_protocols = SSLv3, TLSv1
smtpd_tls_mandatory_ciphers = medium
smtpd_tls_auth_only = yes
tls_random_source = dev:/dev/urandom
Как мне убедиться, что сеанс действительно аутентифицирован?
Как мне решить эту проблему дальше?
После долгих экспериментов выяснилось, что мне пришлось добавить permit_sasl_authenticated
к smtpd_client_restrictions
(не путать с smtpd_recipient_restrictions
).
Это исправило это.
Я решил свою проблему, добавив строку «smtpd_sasl_auth_enable» в мой main.cf и затем перезапустив postfix. (С веб-почтой проблем не было, я просто получаю сообщение об отказе в доступе на Thunderbird)
smtpd_sasl_auth_enable = yes
Тест из системы с telnet / openssl http://www.postfix.org/SASL_README.html#server_test Я не знаю, поддерживает ли iPhone starttls, поэтому вы можете протестировать 465 и 587 на поддержку ssl. Я думаю, также у вас есть настройка, чтобы принимать аутентификацию только при использовании ssl.
Параметры, которые вы указываете в строке:
smtpd_recipient_restrictions = reject_unknown_sender_domain, reject_unknown_recipient_domain, reject_unauth_pipelining, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
Вероятный виновник.
Подробнее о том, как настроить ретрансляцию постфиксов и контроль доступа, можно найти в документация.
Похоже, вы захотите начать с добавления домена * .vodafone.net в список разрешенных доменов для ретрансляции.