Назад | Перейти на главную страницу

Postfix позволяет отправлять в любой домен в Интернете с аутентификацией, но без SSL

Когда я пытаюсь отправить письмо по SMTP и Postfix, я получаю сообщение об ошибке «5.7.1 не удается передать».

После большого изменения конфигурации мне удалось отправить электронную почту в тот же домен, что и сервер (на другие учетные записи на этом хосте):

smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination

Но я все равно получал эту ошибку при отправке в другие домены. Dovecot установлен на моем сервере.

Как разрешить ретрансляцию в любой домен, но с простой аутентификацией по SMTP на порту 25? Без SSL / TLS и т. Д.


Если я добавлю домен, который использую в качестве получателя для тестирования, в мои пункты назначения:

mydestination = o2.pl

Я получил:

Recipient address rejected: User unknown in local recipient table

Образец журнала при настройке без mydestination:

Oct  6 00:50:40 XXXXXXX postfix/smtpd[5409]: NOQUEUE: reject: RCPT from MY_HOME_HOST: 554 5.7.1 <TARGET_EMAIL@o2.pl>: Relay access denied; from=<TEST_ACCOUN@MY_DOMAIN.pl> to=<TARGET_EMAIL@o2.p> proto=ESMTP helo=<[127.0.0.1]>

После удаления:

reject_unauth_destination

Thunderbird просто зависает, когда я пытаюсь отправить письмо. Он завис на "Подключено к MY_OWN_DOMAIN ..."

Я переключил TLS на «нет», но это не помогло. Когда я подключаюсь к порту 25 на localhost, я не получаю приветственное сообщение от SMTP

Вероятно из-за:

 "smtpd_recipient_restrictions": specify at least one working instance of: check_relay_domains, reject_unauth_destination, reject, defer or defer_if_permit

Но когда я добавил "check_relay_domains", я получил сообщение об ошибке от thunderbird, что SMTP-сервер отправил неработающее приветственное сообщение.

Наконец я получил новую ошибку:

Recipient address rejected: Relay access denied.

Весь мой main.cf:

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
delay_warning_time = 4h


readme_directory = no

smtpd_helo_restrictions = permit_mynetworks, warn_if_reject reject_non_fqdn_hostname, reject_invalid_hostname, permit
smtpd_sender_restrictions = permit_mynetworks, warn_if_reject reject_non_fqdn_sender, reject_unknown_sender_domain, reject_unauth_pipelining, permit

#smtpd_client_restrictions = permit


smtpd_recipient_restrictions =
    permit_sasl_authenticated
    permit_mynetworks
    check_relay_domains

smtpd_data_restrictions = reject_unauth_pipelining

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.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

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

myhostname = MY_OWN_DOMAIN.pl
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = MY_OWN_DOMAIN.pl
relay_domains = $mydomain
mydestinations = $mydomain, $myhostname, localhost, localhost.localdomain

relayhost =
inet_interfaces = all
mynetworks_style = host
home_mailbox = Maildir/
#mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all

Это не столько похоже на проблему SSL, сколько на проблему аутентификации; если Postfix распознает вас как авторизованного отправителя, то он не должен говорить о ретрансляции. Ваш SMTP-клиент настроен на аутентификацию на сервере? Если нет, настройте это и попробуйте еще раз.


Еще кое-что: У тебя есть permit_sasl_authenticated в твоем smtpd_recipient_restrictions, но я не вижу никакой конфигурации аутентификации SASL в вашем main.cf - это может быть проблемой;

Если Postfix ожидает аутентификации вас через SASL, но не имеет поставщика SASL, с которым можно это сделать, он будет относиться к вам, как к любому другому неаутентифицированному пользователю. Полное разрешение выходит за рамки этого ответа, но я бы рекомендовал начать с практического руководства Postfix SASL, которое очень помогло мне при настройке моего собственного сервера Postfix.