Postfix NOQUEUE: reject: RCPT from unknown

Я создал веб-приложение, но когда оно пытается отправить электронное письмо это не удается. Postfix записывает в свой mail.log следующее:

    postfix/smtpd[22261]: warning: hostname srv.eastinc.nl does not resolve to address 192.168.3.101
    postfix/smtpd[22261]: connect from unknown[192.168.3.101]
    postfix/smtpd[22261]: NOQUEUE: reject: RCPT from unknown[192.168.3.101]: 554 5.7.1 <someaddress@gmail.com>: Relay access denied; from=<Domain@eastinc.nl> to=<someaddress@gmail.com> proto=ESMTP helo=<domain.eastinc.nl>
    postfix/smtpd[22261]: disconnect from unknown[192.168.3.101]

Я совершенно уверен, что srv.eastinc.nl разрешается как 192.168.3.101, потому что так говорит nslookup. Конфигурация Postfix:

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
delay_warning_time = 2h
home_mailbox = Maildir/
inet_interfaces = all
mailbox_size_limit = 0
mydestination = eastinc.nl, mail.eastinc.nl, srv.eastinc.nl, localhost.eastinc.nl, localhost
myhostname = mail.eastinc.nl
mynetworks = localhost 192.168.3.101 127.0.0.1 srv.eastinc.nl
myorigin = /etc/mailname
readme_directory = no
recipient_delimiter = +
relayhost = smtp.ziggo.nl:25
smtp_always_send_ehlo = yes
smtp_sasl_auth_enable = no
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_recipient_restrictions = permit_sasl_authenticated, reject_unauth_destination
smtpd_sender_restrictions = reject_unknown_sender_domain
smtpd_tls_cert_file = /etc/ssl/certs/mailcert.pem
smtpd_tls_key_file = /etc/ssl/private/mail.key
smtpd_tls_protocols = !SSLv2, !SSLv3
smtpd_tls_security_level = may
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes

Если я правильно понимаю, и 192.168.3.101, и srv.eastinc.nl должны иметь возможность ретранслировать почту через Postfix. Есть идеи, как заставить это работать?

6
задан 7 May 2016 в 17:39
2 ответа

У вас есть следующие ограничения в ваша конфигурация:

smtpd_recipient_restrictions = permit_sasl_authenticated, reject_unauth_destination
smtpd_sender_restrictions = reject_unknown_sender_domain

allow_sasl_authenticated

Разрешить запрос, когда клиент успешно аутентифицирован по протоколу RFC 4954 (AUTH).

reject_unauth_destination

Отклонить запрос, если не выполняется одно из следующих условий:

  • Postfix является пересылкой почты: разрешенный домен RCPT TO соответствует $ relay_domains или его поддомену и не содержит маршрутизации, указанной отправителем (user @ elsewhere @ domain),

  • Postfix - это конечный пункт назначения: разрешенный домен RCPT TO совпадает с $ mydestination, $ inet_interfaces, $ proxy_interfaces, $ virtual_alias_domains или $ virtual_mailbox_domains и не содержит (скрытую) маршрутизацию, указанную отправителем, запрос, когда Postfix не является конечным адресатом адрес отправителя, а домен MAIL FROM не имеет 1) DNS MX и DNS A записи, или 2) искаженной записи MX, такой как запись с именем хоста MX нулевой длины (Postfix версии 2.3 и новее).

    Ответ указывается с параметром unknown_address_reject_code (по умолчанию: 450), unknown_address_tempfail_action (по умолчанию: defer_if_permit) или 550 (nullmx, Postfix 3.0 и новее). Подробности см. В описании соответствующих параметров.

Итак, я предполагаю: тот, кто подключается с хоста 192.168.3.101 (это сам сервер?), Отправляет почту без аутентификации (в журнале нет ничего об аутентификации).Поэтому для этого вам необходимо следующее ограничение:

allow_mynetworks

Разрешить запрос, когда IP-адрес клиента совпадает с любым сетевым или сетевым адресом, указанным в $ mynetworks.

Добавьте smtpd_recipient_restrictions к ] allow_mynetworks .

smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination

Официальная документация: ACCESS README

UDP

Иногда это действительно плохо для allow_mynetworks , потому что любой хост из $ mynetworks ] может отправлять письма без аутентификации.

Так что лучше отправлять письма через smtp с авторизацией из вашего приложения и не использовать функции sendmail () / mail ()

10
ответ дан 3 December 2019 в 00:15

Недавно я столкнулся с такой же проблемой при отправке электронной почты из клиента Windows Outlook.

Примечание.:Эта ошибка возникает, в частности, при отправке электронной почты с помощью настольного приложения Outlook.

Ниже приведено сообщение об ошибке, найденное в /var/log/mail.log при отправке электронных писем из агента Outlook.

NOQUEUE: reject: RCPT from unknown[XXX.XXX.XXX.XXX]: 450 4.7.1 <DESKTOPOABC123>: Helo command rejected: Host not found; from=<abc123@example.org> to=<user1@exampleoutside.com> proto=ESMTP helo=<DESKTOPOABC123>

Чтобы устранить проблему, я сделал ниже сообщение о действиях, позволяющих отправлять электронную почту через агент Outlook.

Шаг 1: в файле /etc/postfix/main.cf закомментирован следующий пункт в параметре «smtpd_recipient_restrictions».

enter image description here

Шаг 2:перезапустил агент службы postfix.

$ sudo systemctl restart postfix 
-1
ответ дан 4 December 2021 в 09:06

Теги

Похожие вопросы