Хороший вопрос - ваш ответ, безусловно, лучший способ сделать это. знак равно

тим, вы разрабатываете модный почтовый сервер с поддержкой правил (например, условная пересылка и т. Д.). Вечная проблема почтовых циклов смотрит вам в лицо:

1) Скажем, вы установили правило, которое пересылает всю вашу почту на другой адрес. Что если этот адрес не существует, и почтмейстер в этом домене отправляет вам сообщения, сообщающие вам об этом. Конечно, ваше правило не делает различий между этими сообщениями, а также направляет их, создавая цикл.

2) Другая ситуация - два пользователя, использующие этот клиентский клиент, устанавливают правила пересылки по адресу друг друга. Все, что нам нужно, это одно стартовое сообщение, и они собираются в цикле.

3) Или как насчет случая автоответчика, когда клиент перенаправляет на адрес, который автоматически отвечает обратно, вызывая еще один цикл.

Я не эксперт в этом, но не похоже, что обнаружение петель сработает. Мы, конечно, могли бы придумать некоторую эвристику, но, похоже, универсального алгоритма не существует.

Одно из решений, о котором я думал, совсем не связано с обнаружением. Вместо этого мы просто отслеживаем учетные записи на предмет высокой активности отправки почты (или высокой активности отправки, вызванной правилами) и временно отключаем электронную почту / правила для этих учетных записей, пока они не устранят проблему. Однако это решение должно пройти границу между учетными записями, вызывающими циклы, и учетными записями, которые просто получают много почты и пересылают ее куда-то еще.

Мы также можем применить регулирование ко всем учетным записям и убедиться, что, если циклы запускаются, они не поглощают тонну пропускной способности. Это не остановит циклы, пока почтовые ящики не заполнятся.

Есть ли хорошие решения, которые я пропускаю?

Ответы на вопрос(1)

Ваш ответ на вопрос