По какой-то причине мой почтовый сервер Postfix, работающий на CentOS 7, недавно перестал работать, возможно, потому, что я обновил модули через Webmin, я не знаю. Я могу отправлять электронные письма, но я не получаю их. Также не работают POP3 и IMAP. Я много чего пробовал, но сам не разобрался, поэтому мне нужна помощь.
Прочитал несколько веток по темам:
Моя начальная ошибка: Relay access denied
из файла /var/log/maillog
:
Jul 31 11:18:40 myhostname postfix/smtpd[6787]: connect from mail-wm0-f51.google.com[74.125.82.51]
Jul 31 11:18:40 myhostname postfix/smtpd[6787]: NOQUEUE: reject: RCPT from mail-wm0-f51.google.com[74.125.82.51]: 454 4.7.1 <contact@mydomain.com>: Relay access denied; from=<myemail@gmail.com> to=<contact@mydomain.com> proto=ESMTP helo=<mail-wm0-f51.google.com>
Jul 31 11:18:41 myhostname postfix/smtpd[6787]: disconnect from mail-wm0-f51.google.com[74.125.82.51]
Моя начальная настройка (/etc/postfix/main.cf
) запуск команды postconf -n
:
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5
html_directory = no
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
newaliases_path = /usr/bin/newaliases.postfix
readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES
sample_directory = /usr/share/doc/postfix-2.10.1/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
unknown_local_recipient_reject_code = 550
Прочитав упомянутые выше статьи, я определил mydomain
, myhostname
и mynetworks
; теперь я получаю другую ошибку (см. ниже). Вот main.cf
настройки с переделками:
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5
html_directory = no
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mydomain = mydomain.com
myhostname = 9dok43ksalv.hostname.com
mynetworks = 11.22.33.44/28, 127.0.0.0/8
myorigin = $mydomain
newaliases_path = /usr/bin/newaliases.postfix
readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES
relay_domains = $mydestination
sample_directory = /usr/share/doc/postfix-2.10.1/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
unknown_local_recipient_reject_code = 550
Теперь я получил ошибку Recipient address rejected: User unknown in local recipient table;
как показано ниже:
connect from mail-wm0-f49.google.com[74.125.82.49]
Aug 1 16:22:27 9dok43ksalv postfix/smtpd[2583]: NOQUEUE: reject: RCPT from mail-wm0-f49.google.com[74.125.82.49]: 550 5.1.1 <contact@mydomain.com>: Recipient address rejected: User unknown in local recipient table; from=<myemail@gmail.com> to=<contact@mydomain.com> proto=ESMTP helo=<mail-wm0-f49.google.com>
Aug 1 16:22:28 9dok43ksalv postfix/smtpd[2583]: disconnect from mail-wm0-f49.google.com[74.125.82.49]
Судя по всему, Postfix не находит конечный адрес электронной почты. Мне никогда раньше не приходилось настраивать Postfix, поэтому сейчас я немного потерялся, как первый таймер; VestaCP
раньше заботился об этом за меня, и до сих пор у меня никогда не было проблем.
Не мог бы кто-нибудь указать мне правильное направление? Я был бы очень признателен снова получить электронные письма и заставить работать POP3 и IMAP.
Заранее спасибо. Дайте мне знать, если вам понадобится дополнительная информация.
Сообщение об ошибке 550 5.1.1 пользователь неизвестен в локальной таблице получателей
Я думаю, вам может потребоваться посмотреть на карту локальных получателей / карты псевдонимов и убедиться, что они настроены правильно. Также посмотрите на значение mydestinations в main.conf, как если бы домен был настроен, тогда должна произойти локальная доставка
Стоит прочитать этот ответ Смущает насчет alias_maps и virtual_alias_maps
Некоторая полезная информация также ниже http://www.postfix.org/postconf.5.html#local_recipient_maps
"Локальная база данных псевдонимов
Когда почта должна быть доставлена локально, агент локальной доставки запускает каждое имя локального получателя через базу данных псевдонимов. Отображение не влияет на адреса в заголовках сообщений. Локальные псевдонимы обычно используются для реализации списков рассылки или для рассылки стандартных псевдонимов, таких как postmaster, реальным людям. Таблицу также можно использовать для сопоставления адресов Firstname.Lastname с именами пользователей ".
или, может быть, Virtual Alias Maps
«При таком подходе каждый размещенный домен может иметь свой собственный адрес электронной почты для информации и т. Д. Однако он по-прежнему использует системные учетные записи Linux для доставки локальных почтовых ящиков.
В виртуальных доменах псевдонимов каждому размещенному адресу присваивается псевдоним локальной системной учетной записи UNIX или удаленного адреса. В приведенном ниже примере показано, как использовать этот механизм для доменов fossedu.org и linuxelabs.com ".
https://help.ubuntu.com/community/PostfixBasicSetupHowto#Local_Alias_database
Проверь это:
Постфикс: адрес получателя отклонен: пользователь неизвестен в локальной таблице получателей
Решение (в этом случае), как объяснено b techieb0y, состоит в том, чтобы удалять $ mydomain из строки:
mydestination = $mydomain, localhost.$mydomain, localhost