Когда я пытаюсь отправить письмо по 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.