Postfix отказов локальной доставки с адресом источника из orig_to

Я создаю скрипт на python для доставки локальной почты различными способами. Проблема заключается в следующем:

  • Этот скрипт должен принимать несколько виртуальных доменов, определенных в / etc / postfix / virtual
  • Сценарий проверяет, является ли получатель действительным, а содержимое соответствует ожидаемому, и завершает работу с соответствующим кодом (4.xx 5.xx), если нет

Проблема в том, что я хочу, чтобы bounce исходил от адреса получателя (orig_to) или bounce@receientdomain, возможно ли это?


Настроить:

/ И т.д. / постфикса / виртуальный:

@domain1     pymail
@domain2     pymail
@domain3     pymail
@domain4     pymail
@domain5     pymail

/ etc / postfix / master: (содержит)

pymail    unix  -       n       n       -       -       pipe
  flags=FR user=pymail argv=/path/to/script.py ${sender} ${recipient}

/ И т.д. / постфикса / транспорт:

* pymail:

/etc/postfix/main.cf:

pymail_destination_recipient_limit = 1
transport_maps = hash:/etc/postfix/transport
virtual_alias_domains = domain1 domain2 domain3 domain4 domain5
virtual_alias_maps = hash:/etc/postfix/virtual

2 ответа

Решение

Я не мог найти способ сделать это, поэтому в конце я просто написал в скрипт Python, чтобы отправить сообщение об ошибке отправителю с правильного адреса.

Проблема в том, что когда postfix доставляет вашу почту в python, она уже принята.

НЕ принимайте почту, которую вы не собираетесь доставлять; Отскок назад - один из худших видов спама.

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

Вам также нужно будет поиграть с аргументами pipe(8) и различными вариантами параллелизма назначения, чтобы это работало гладко.

Другие вопросы по тегам