LINUX.ORG.RU
решено ФорумAdmin

POSTFIX не принимает письма извне

 


0

1

Добрый день. Пришлось тут разбираться с почтовиком, который работал-работал, а потом решил обновиться и работать перестал. Обновился он сразу через 2 версии с Debian 6.какой-то, до 8.7, все пакеты, соответственно, пообновлялись тоже. Почтовик работает на postfix+cyrus+saslauthd+mysql, восстанавливал я его на ощупь, ибо опыта у меня в линуксовых делах не очень много, сервак до недавнего времени был не мой. В результате моих действий почтовик шлёт письма, пользователи видят свои IMAP ящики, но все письма, отправляемые с внешних ящиков сразу получают в ответ 554 5.7.1 Recipient address rejected: Access denied (in reply to RCPT TO command). В логе обработки письма видно (по крайней мере, мне так кажется), что проблема в smtpd_recipient_restrictions = permit_sasl_authenticated, но даже если поставить smtpd_recipient_restrictions = permit, то в логах та же самая фраза generic_checks: name=permit_sasl_authenticated status=0. Так что я бы с большим вниманием послушал бы предложения опытных людей. Для удобства выложил только кусок лога, касающийся Recipient address RESTRICTIONS. Ну и main.cf. Буду очень благодарен за помощь, ибо после впихивания в голову экстренными темпами таких объёмов мануалов голова уже не варит.

 >>> START Recipient address RESTRICTIONS <<<
Jan 22 19:22:25 mydomain postfix/smtpd[6622]: generic_checks: name=permit_sasl_authenticated
Jan 22 19:22:25 mydomain postfix/smtpd[6622]: generic_checks: name=permit_sasl_authenticated status=0
Jan 22 19:22:25 mydomain postfix/smtpd[6622]: generic_checks: name=reject
Jan 22 19:22:25 mydomain postfix/smtpd[6622]: NOQUEUE: reject: RCPT from smtp52.i.mail.ru[94.100.177.112]: 554 5.7.1 <test1@mydomain.ru>: Recipient address rejected: Access denied; from=<kholin@mail.ru> to=<test1@mydomain.ru> proto=ESMTP helo=<smtp52.i.mail.ru>
Jan 22 19:22:25 mydomain postfix/smtpd[6622]: generic_checks: name=reject status=2
Jan 22 19:22:25 mydomain postfix/smtpd[6622]: >>> END Recipient address RESTRICTIONS <<<
Jan 22 19:22:25 mydomain postfix/smtpd[6622]: > smtp52.i.mail.ru[94.100.177.112]: 554 5.7.1 <test1@mydomain.ru>: Recipient address rejected: Access denied
Jan 22 19:22:25 mydomain postfix/smtpd[6622]: < smtp52.i.mail.ru[94.100.177.112]: DATA
Jan 22 19:22:25 mydomain postfix/smtpd[6622]: > smtp52.i.mail.ru[94.100.177.112]: 554 5.5.1 Error: no valid recipients
Jan 22 19:22:25 mydomain postfix/smtpd[6622]: < smtp52.i.mail.ru[94.100.177.112]: QUIT
Jan 22 19:22:25 mydomain postfix/smtpd[6622]: > smtp52.i.mail.ru[94.100.177.112]: 221 2.0.0 Bye
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
mail_owner = postfix
myhostname = mydomain.ru
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost
local_recipient_maps = mysql:/etc/postfix/users.cf
unknown_local_recipient_reject_code = 550
mynetworks = 127.0.0.0/8
smtpd_sasl_auth_enable=yes
smtpd_discard_ehlo_keywords = silent-discard, dsn
smtpd_sasl_security_options=noanonymous
smtpd_sasl_authenticated_header=yes
anvil_rate_time_unit = 2h
smtpd_client_message_rate_limit = 50
smtpd_recipient_limit = 50
smtpd_reject_unlisted_sender=yes
smtpd_delay_reject = yes
smtpd_helo_required = yes
smtpd_relay_restrictions =
        permit_sasl_authenticated,
        reject
smtpd_helo_restrictions =      permit_sasl_authenticated,
                                reject_invalid_helo_hostname,
                                reject_non_fqdn_helo_hostname,
                                reject_unknown_helo_hostname
smtpd_client_restrictions =
        check_client_access hash:/etc/postfix/whitelist,
        permit_sasl_authenticated,
        reject_unknown_client_hostname
smtpd_sender_restrictions=
                         check_sender_access regexp:/etc/postfix/adr,
                         permit_sasl_authenticated,
                         permit_mynetworks,
                         reject_invalid_hostname,
                         reject_non_fqdn_hostname,
                         reject_non_fqdn_sender,
                         reject_unknown_client_hostname,
                         reject_unknown_sender_domain,
                         reject_unknown_hostname,
                         permit
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
alias_maps = hash:/etc/aliases
mailbox_transport = lmtp:unix:/var/run/cyrus/socket/lmtp
header_checks = regexp:/etc/postfix/header_checks
smtpd_banner = mx.mydomain.ru ESMTP $mail_name
debug_peer_level = 1
debugger_command =
         PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
         xxgdb $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail
newaliases_path = /usr/bin/newaliases
mailq_path = /usr/bin/mailq
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/local/man
sample_directory = /etc/postfix
readme_directory = no
mailbox_size_limit = 5000000000
message_size_limit = 50000000
smtpd_delay_reject = yes
recipient_bcc_maps = hash:/etc/postfix/rcpt_bcc

smtpd_recipient_restrictions = permit

Нет такого ″permit″, прочитайте документацию, там перечислены все возможные варианты. Лучше оставьте как по умолчанию:

smtpd_recipient_restrictions = permit_mynetworks,reject_unauth_destination

mky ★★★★★ ()
Ответ на: комментарий от mky

Permit

Permit the request. This restriction is useful at the end of a restriction list, to make the default policy explicit. Generic restriction, описанная прям-таки на postfix.org

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

Multani ()
Ответ на: комментарий от Multani

«mydomain» у вас какой? Судя по логам, Postfix отклоняет входящие сообщения на ваш домен, так как не может его определить.

anonymous ()

smtpd_sender_restrictions=
check_sender_access regexp:/etc/postfix/adr,

Что в этом файле?

vlb ★★★ ()

Всем спасибо за ответы, но так как от меня требовали результатов прямо щас, я поднял постфикс на виртуалке с минимумом изменений конфига, удостоверился, что он работает и перенёс его на основную машину. Безопасность и прочее буду допиливать, но кое-как письма идут. Интересно было бы решить эту проблему по уму, но время это ценный ресурс, к сожалению.

Multani ()

Подозрительна очень эта строка в логе Error: no valid recipients. Я так понимаю вы после обновления весь main.cf редактировали? Походу почтовик не воспринимает test1@mydomain.ru как стандартный.

Bootmen ★★☆ ()
Ответ на: комментарий от Bootmen

После обновления конфиг остался старый, но работать перестал. Но вы натолкнули меня на мысль. В новосозданном конфиге есть параметр myorigin = /etc/mailname где указан mx.mydomain.ru, а в старом mx нигде не встречался, только mydomain.ru. Может быть, дело было в этом, если он не считал получателей валидными, так как они почему-то не попадали в mydestination, а релей, понятное дело, был отключен?

Multani ()
Ответ на: комментарий от Multani

Разница test1@mydomain.ru и test1@mx.mydomain.ru Пробуйте последний адрес ему впихнуть.

Bootmen ★★☆ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.