Я изучаю проблему с черным списком почтового сервера.
На нашем почтовом сервере была превышена квота пользователя, в результате чего электронные письма возвращались отправителям с сообщением «пользователь превысил квоту». Некоторые из этих писем представляют собой спам с поддельным полем «От». Сообщения отправляются на адрес отправителя "От". Как следствие, наш сервер попал в какой-то черный список. Имеет ли это смысл?
Я не знаю, как с этим справиться. Я думаю, что сообщение "пользователь превышает квоту" полезно: как отправитель я хочу получать уведомления, когда мое сообщение не было доставлено.
Другой вариант - не возвращать сообщение, если оно определяется как спам. Мы используем postfix и spamassassin, и при отображении такого сообщения с postcat -q
, Я вижу, что в сообщении очень много спама.
Как нам действовать?
В нашей конфигурации spamassassin отмечает только сообщения, и каждый пользователь может использовать сито для фильтрации / удаления / перемещения сообщений. Должен ли spamassassin сам удалять сообщения с большим количеством очков? Должен ли postfix проверять оценку спама перед тем, как отправлять сообщения, или, скорее, прежде чем пытаться доставить его в первую очередь?
Я не хочу изобретать велосипед, поэтому, хотя мои идеи выше могут сработать, я хотел бы знать, как люди обычно решают эту проблему.
Вместо того, чтобы возвращать сообщение (отправка «нового» сообщения исходному или поддельному Отправителю, объявляющему о ситуации превышения квоты) после того, как оно было первоначально принято для доставки, отклоните сообщение во время согласования smtp.
«Как» зависит от LDA.
Например, для postfix + dovecot вариант выглядит следующим образом:
http://blog.sys4.de/postfix-dovecot-mailbox-quota-en.html
Прежде всего, вам необходимо активировать и настроить службу quota-status-service в Dovecots dovecot.conf:
plugin { ... quota_grace = 10%% # 10% is the default quota_status_success = DUNNO quota_status_nouser = DUNNO quota_status_overquota = "552 5.2.2 Mailbox is full" ... } service quota-status { executable = quota-status -p postfix inet_listener { port = 12340 # You can choose any port you want } client_limit = 1 }
Чтобы использовать только что настроенную службу политик Dovecot, вам необходимо указать Postfix, чтобы она взаимодействовала со службой в main.cf:
smtpd_recipient_restrictions = ... check_policy_service inet:mailstore.example.com:12340