Мы используем фильтр исходящего спама, и мы хотели бы иметь возможность отправлять почту через этот фильтр, даже если она адресована локальному пользователю. Есть ли способ заставить sendmail использовать SMART_HOST, даже если он будет доставлен локально?
Вот что я хочу. Мой хост - example.com. Если я отправлю письмо с адреса me@example.com (используя SMTP) на адрес you@example.com, я хочу, чтобы электронное письмо перешло с mail.example.com на outbound.example.com на inbound.example.com, а затем обратно на mail.example.com. Возможно ли это без создания бесконечного цикла?
Да, вы также захотите установить параметры MAIL_HUB и LOCAL_RELAY. См. Раздел под названием MASQUERADING AND RELAYING
в ReadMe Sendmail.
В пределах одного только Sendmail это невозможно (насколько я знаю). Однако вы могли бы сделать следующее:
Теоретически это должно ловить почти все, но может сильно сломать. Я понятия не имею, что случится, если кто-нибудь вызовет sendmail локально. Если вы запускаете установку веб-почты, проверьте, можете ли вы настроить ее для отправки всей электронной почты через outbound.example.com, а не локально.
Может быть проще интегрировать спам-фильтр в mail.example.com.
Это звучит как работа для procmail в качестве LDA. Используйте его, чтобы активировать спам-фильтр для любого локально созданного письма.
определить (PROCMAIL_MAILER_PATH',
/ usr / local / bin / procmail ') ФУНКЦИЯ (local_procmail_lmtp) MAILER (procmail) MAILER (procmailnoalias) dnl
и в вашем глобальном правиле procmail найдите отсутствующий x-заголовок, чтобы затем отправить почту для сканирования
например: 0H * <10000000 *! ^ X-Local-Scanned: MySuperScanner