Я запускаю небольшой почтовый сервер со всеми обычными функциями: отправка локальной почты, получение почты для локальных папок, перенаправление почты по псевдониму и спискам рассылки.
Перенаправления идут на адреса в других доменах, в том числе в Google, поэтому весь спам, идущий на один из этих перенаправленных адресов, наносит вред репутации моего сервера в Google, в результате чего даже мои локальные электронные письма ограничиваются по скорости.
Я мог представить, что один из способов уменьшить проблему - никогда не хранить письма, которые обязательно должны быть перенаправлены. Таким образом, если Google отклоняет какое-то сообщение как спам, я тоже. И вместо того, чтобы мой сервер повторял его доставку, исходный сервер, который, будучи сервером рассылки спама, не будет повторять попытку.
Итак, вопрос: могу ли я где-нибудь в ACL сказать exim о
Спасибо!
Это не будет ответом, а скорее объяснением сложности того, что вы пытаетесь сделать.
Ты должен ВСЕГДА помните, что электронное письмо может быть адресовано более чем одному получателю. Вы сказали: «Я не хочу стоять в очереди, если это экспедитор». Что делать, если один из них - пересылка, а другой - локальный почтовый ящик? Вы знаете только содержимое сообщения (заголовки и тело) на этапе ДАННЫЕ, на котором вы уже приняли получателей (один сервер пересылки и один локальный).
Это МНОГО Сложнее сделать то, что вы хотите, потому что протокол SMTP не позволяет применять настройки для каждого получателя. В Exim есть новая функция, которая называется PRDR (Ответы на доставку получателя). Это черновик протокола, созданный много лет назад, который является расширением протокола SMTP. Практически ни один другой почтовый сервер не поддерживает его, кроме Exim. Для этого требуется, чтобы почтовый сервер подключился к вашему почтовому серверу Exim и сказал: «Я вижу, что вы разрешаете PRDR, поэтому я собираюсь запросить его и разрешу вам отклонять электронную почту для каждого отдельного пользователя, а не только для всех или ни одного».
Это требует, чтобы вы настроили PRDR ACL для проверки конкретных вещей (оценка спама, получатель помечает определенных отправителей как спам и т. Д.). ACL вызывается один раз для каждого получателя ПОСЛЕ сообщение получено (что не разрешено в обычном SMTP), и в этом ACL PRDR вы можете отклонить или принять для каждого получателя. Поскольку отправляющий почтовый сервер запросил режим PRDR, он это поймет.
В противном случае вы либо принимаете его для всех (и рискуете отрицательной репутацией в Google), либо отклоняете его для всех (и рискуете отклонить желаемое письмо).
Вы также можете указать максимум 1 получателя на входящее сообщение. Когда вы ограничиваете это таким образом, вы можете сделать обозначение forwarder / not_forwarder на этапе данных и решить, что делать, на основе оценки спама. Но в электронных письмах с 10 получателями вы получите 1 электронное письмо первому, оставшиеся 9 - tempfail, а отправляющий почтовый сервер поставит его в очередь и повторит попытку позже. Через некоторое время (зависит от отправляющий почтовый сервер время повторной попытки в очереди) вы снова получите электронное письмо второму получателю, оставив оставшиеся 8. Повторите эти действия для оставшихся 1, 7. Повторите для 1, 6 оставшихся. И помните, между каждый доставка будет приостановкой, которую вы не можете контролировать, потому что это зависит от того, как долго отправитель будет повторять попытку сообщения в очереди.
Вариантов для этого не очень много: - /
** По иронии судьбы, LMTP - это подмножество протокола SMTP, который предназначен для доставки от входящего SMTP-сервера к внутреннему почтовому серверу (т.е. не через Интернет, а только внутри). LMTP делает разрешить отклонение для каждого получателя. Поэтому, если вы хотите рассматривать это таким образом, думайте о PRDR как о применении определенной функции LMTP к протоколу SMTP.
Проверка отправителя создает дополнительную нагрузку на зарубежные MTA, поэтому не рекомендуется. Но вы можете настроить общий MTA, защищающий от спама.
Мой опыт показывает, что два простых условия помогают обнаружить около 90% спама:
static-dynamic-123-456.789-client.fiber.peer.tld
являются спамеры и должны быть отфильтрованы простым списком регулярных выражений.Каждое сообщение, которое приходит от хостов, описанных выше, должно быть отправлено на bayes
. Мой выбор - это spamassassin
один. Все остальные сообщения должны быть проверены bayes
.
Такой подход позволяет фильтровать около 99,9% спама и имеет большое преимущество - bayes
обновляется автоматически. Все, что вам нужно сделать, - это периодически добавлять несколько чрезвычайно активных хостов спамеров в список регулярных выражений из правила №2.
Обнаружив спам, вы можете легко предотвратить его пересылку на gmail
или где-нибудь еще.