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

Сервер проверки адреса Postfix не работает

Я пытаюсь использовать Сервер проверки адреса Postfix, но я не могу заставить его работать.

Вот содержание моего main.cf файл, созданный postconf -n команда. Я отмечаю четыре строки, которые модифицировал сам. Остальные строки конфигурации взяты из новой установки debian wheezy:

address_verify_default_transport = direct_smtp           # added by myself
address_verify_map = btree:/var/lib/postfix/verify_cache # added by myself
address_verify_relayhost =                               # added by myself
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
inet_interfaces = all
mailbox_size_limit = 0
mydestination = fake.example.net, localhost.example.net, localhost
myhostname = fake.example.net
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
readme_directory = no
recipient_delimiter = +
relayhost =
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination, reject_unknown_recipient_domain, reject_unverified_recipient   # added by myself
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache

Сервер проверки запущен. Я проверил это с netstat -l -p | grep verify который производит:

unix  2      [ ACC ]     STREAM     LISTENING     1851248  31291/master        private/verify

Тем не менее, сервер проверки никогда не вызывается: когда я отправляю электронное письмо в домен, который я контролирую MX-сервером, я могу видеть в журналах этого MX-сервера, что электронное письмо отправлено напрямую с правильным адресом отправителя, а не "double-bounce@$myorigin" так как так должно быть. Я также вижу, что нет файла /var/lib/postfix/verify_cache создано.

Вот что я вижу на моем отправляющем сервере:

Dec 18 16:43:07 fake postfix/pickup[19544]: 134A96220474: uid=0 from=<root>
Dec 18 16:43:07 fake postfix/cleanup[19633]: 134A96220474: message-id=<20141218154307.134A96220474@fake.example.net>
Dec 18 16:43:07 fake postfix/qmgr[31295]: 134A96220474: from=<root@fake.example.net>, size=447, nrcpt=1 (queue active)
Dec 18 16:43:07 fake postfix/smtp[19635]: 134A96220474: to=<realemail@example.net>, relay=fake2.example.net[yyy.yyy.yyy.yyy]:25, delay=0.6, delays=0.09/0/0.13/0.38, dsn=4.2.0, status=deferred (host fake2.example.net[yyy.yyy.yyy.yyy] said: 450 4.2.0 <realemail@example.net>: Recipient address rejected: Greylisted, see http://postgrey.schweikert.ch/help/example.net.html (in reply to RCPT TO command))

Итак, что мне не хватает, чтобы проверка адреса Postfix работала?

Вы замечаете в своем фрагменте почтового журнала

Dec 18 16:43:07 fake postfix/pickup[19544]: 134A96220474: uid=0 from=<root>
Dec 18 16:43:07 fake postfix/cleanup[19633]: 134A96220474: message-id=<20141218154307.134A96220474@fake.example.net>
Dec 18 16:43:07 fake postfix/qmgr[31295]: 134A96220474: from=<root@fake.example.net>, size=447, nrcpt=1 (queue active)
Dec 18 16:43:07 fake postfix/smtp[19635]: 134A96220474: to=<realemail@example.net>, relay=fake2.example.net[yyy.yyy.yyy.yyy]:25, delay=0.6, delays=0.09/0/0.13/0.38, dsn=4.2.0, status=deferred (host fake2.example.net[yyy.yyy.yyy.yyy] said: 450 4.2.0 <realemail@example.net>: Recipient address rejected: Greylisted, see http://postgrey.schweikert.ch/help/example.net.html (in reply to RCPT TO command))

нет smtpd слово в нем.

Примечание: в вашем почтовом журнале электронная почта входит в процесс получения постфикса. В Обзор архитектуры postfix, есть три способа ввода постфикса в электронную почту: smtpd, qmqpd или самовывоз.

Проверка получателя работает только тогда, когда электронная почта входит через smtpd (вы определяете только параметр reject_unverified_recipient в smtpd_ *_ограничение).

В моем случае почта поступает с внешнего сервера через smtpd поэтому он запустит демон проверки.