У меня проблема с postfix, чтобы отклонить исходящую почту для какого-то адреса в черном списке.
Это моя конфигурация /etc/postfix/main.cf
:
smtpd_recipient_restrictions =
check_recipient_access hash:/etc/postfix/bad_recipients, permit_mynetworks, reject_unauth_destination, permit
файл /etc/postfix/bad_recipients
:
phongdang@chotot.vn REJECT
Затем я использую команду:
postmap /etc/postfix/bad_recipients
создать bad_recipients.db
и перезапустите постфикс: /etc/init.d/postfix restart
Затем я пытаюсь отправить письмо на адрес phongdang@chotot.vn:
echo "hello world" | mailx -s "Test from CLI" phongdang@chotot.vn
Журнал почты:
Nov 4 19:54:50 cent6 postfix/pickup[32452]: 851B011FD2B: uid=0 from=<root>
Nov 4 19:54:50 cent6 postfix/cleanup[32491]: 851B011FD2B: message-id=<20141104125450.851B011FD2B@cent6.5-template>
Nov 4 19:54:50 cent6 postfix/qmgr[32453]: 851B011FD2B: from=<root@cent6.5-template>, size=447, nrcpt=1 (queue active)
Nov 4 19:54:50 cent6 postfix/smtp[32493]: connect to ASPMX.L.GOOGLE.COM[2607:f8b0:400e:c02::1b]:25: Network is unreachable
Nov 4 19:54:51 cent6 postfix/smtp[32493]: 851B011FD2B: to=<phongdang@chotot.vn>, relay=ASPMX.L.GOOGLE.COM[74.125.28.26]:25, delay=1.2, delays=0.05/0/0.6/0.51, dsn=2.0.0, status=sent (250 2.0.0 OK 1415105691 x3si145045pdr.187 - gsmtp)
Nov 4 19:54:51 cent6 postfix/qmgr[32453]: 851B011FD2B: removed
И я получаю электронную почту, хотя я ограничил электронную почту phongdang@chotot.vn. Пожалуйста, помогите мне это исправить.
smtpd_recipient_restrictions
применяются только к сообщениям, полученным smtpd
демон через транзакцию SMTP. sendmail
или mailx
команда поставлена в очередь maildrop
очередь по postdrop
команда, которую подхватывает pickup
и подается на уборку напрямую.Вы не можете ограничить получателей писем, отправленных через sendmail
или mailx
команды.
Единственное решение этой проблемы - заставить ваши приложения отправлять почту только через smtp.
Так как Клемент сказал, ваше ограничение не работает, потому что письмо было поставлено в очередь через pickup
.
В качестве обходного пути вы можете применить решение из список рассылки postfix-users
В master.cf
посмотри pickup
вход. Затем добавьте -o content_filter=smtp:[127.0.0.1]:12525
pickup fifo n - n 60 1 pickup
-o content_filter=smtp:[127.0.0.1]:12525
Затем добавьте еще один процесс smtpd (порт 12525) также в master.cf
выполнить отказ
127.0.0.1:12525 inet n - n - 25 smtpd
Не забудьте перезапустить postfix
Предостережения от та же страница: Это отменяет агент доставки по умолчанию для локально отправленных сообщений электронной почты, но добавляет к уже существующим накладным расходам ввода-вывода локальной отправки.