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

Как остановить цикл, который я ввел в переходной настройке 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. «Нет», есть ли у вас предложения?

Вот путешествие по электронной почте через демон 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}