Как остановить цикл, который я представил в переходной установке postfix-spamassassin-dovecot

Я нахожусь на ранних стадиях крутой кривой обучения работе с электронной почтой, мягкость ценится:-).

У меня есть настройки с postfix и dovecot. Я пытаюсь перенести свой почтовый сервер (домен example.com) из моего дома в экземпляр, работающий в другом месте (test.example.com). Идея заключается в том, что, когда все будет работать, я поменяю DNS и заменю test.example.com отexample.com). Я подозреваю, что у меня могут быть проблемы переходного периода, но я был бы признателен за любую проверку.

На моем старом сервере у меня были реальные учетные записи Unix, и в /etc/aliases было следующее:

a:    \a, b

так что письмо отправлено на a@example.com был направлен в b@example.com в дополнение к локальной копии.

На моем новом сервере (в настоящее время test.example.com), У меня есть виртуальные пользователи a@example.com, b@example.com, а также $virtual_alias_maps содержит

@test.example.com    @example.com
a@example.com        a@example.com, b@example.com

в котором электронная почта отправлена a@test.example.com будет доставлено, как ожидается, без петли.

Затем я добавил spamassassin следующим образом в main.cf, и, похоже, он работает с одним исключением.

smtp      inet  n       -       -       -       -       smtpd
    -o content_filter=spamassassin
spamassassin   unix  -       n       n       -       -       pipe
    user=debian-spamd argv=/usr/bin/spamc -f -e
    /usr/sbin/sendmail -oi -f ${sender} ${recipient}

Теперь, когда я отправляю письмо a@test.example.comЯ получаю одну копию на почтовый ящикa@example.com и две копии в почтовом ящике b@example.com,

Казалось бы, расширение происходит дважды, что меня удивляет.

Мои вопросы:

  1. Почему расширение происходит дважды?
  2. Когда я меняю DNS и удаляю test. из моей конфигурации эта проблема исчезнет (то есть, это переходная проблема)?
  3. Если ответ на вопрос 2. нет, есть ли у вас какие-либо предложения?

1 ответ

Решение

Вот путешествие по электронной почте через демона postfix, прежде чем вы положитеspamassassinматериал

Email for a@example.com -> aliased to a@example.com and b@example.com -> final destination

После того, как вы положилиspamassassin вещи, в основном вы помещаете контент-фильтр в стек постфикса, таким образом, путешествие по электронной почте становится

Email for a@example.com -> aliased to a@example.com and b@example.com -> spamassassin

От spamassassin, постфикс был введендвумя электронными письмами

Email for a@example.com -> aliased to a@example.com and b@example.com -> final destination
Email for b@example.com -> final destination

Это объясняет, почему у вас есть два электронных письма на b@example.com и одно на a@example.com


Решение

Postfix имеет параметрreceive_override_options с no_address_mappings иметь дело с этим. Поместите это перед фильтром контента, и вы не получите дубликат электронной почты.

smtp      inet  n       -       -       -       -       smtpd
    -o content_filter=spamassassin
    -o receive_override_options=no_address_mappings
spamassassin   unix  -       n       n       -       -       pipe
    user=debian-spamd argv=/usr/bin/spamc -f -e
    /usr/sbin/sendmail -oi -f ${sender} ${recipient}
Другие вопросы по тегам