Верстакфорум практиков
рекламаiprazon: приватные серверные адреса IPv4 и SOCKS5, безлимитный трафик, бесплатный тест до 2 часов
ФорумПочта и рассылки

Грейлистинг: почему письмо уходит со второй попытки

hardline
hardline
Знаток
сообщений 970
с июн
22 декабря, 17:47первое сообщение

Заказчик пишет: «регистрационные письма идут по двадцать минут, люди не дожидаются». Полез в лог отправки и вижу картину, знакомую многим.

to=<klient@primer.net>, relay=mx.primer.net[203.0.113.9]:25,
  delay=1.2, status=deferred (host mx.primer.net said:
  450 4.7.1 <klient@primer.net>: Recipient address rejected:
  Greylisted, try again in 300 seconds)

Первая попытка получает временный отказ, письмо ложится в очередь, следующая попытка у нас через двадцать минут, письмо уходит. Разберём, что тут происходит и что с этим делают.

Пётр Мельник
Пётр Мельник
Участник
сообщений 810
с июл
1 мая, 08:04#2

Механика простая. Принимающая сторона запоминает тройку: адрес отправляющего узла, отправитель, получатель. Первый раз такую тройку она отбивает временным отказом. Настоящий почтовый сервер обязан повторить, и на повторе через несколько минут письмо принимают, а тройку заносят в белый список на неделю-другую.

Расчёт на то, что рассылающие программы повторов не делают: отбились, значит пошли дальше по списку.

сначала замер, потом мнение
sonyaK
sonyaK
Новичок
сообщений 240
с фев, второй сезон
8 октября, 11:21#3

то есть это не про нас плохо думают, просто проверка такая?

hardline
hardline
Знаток
сообщений 970
с июн
15 марта, 14:38#4

Именно так. Второе письмо тому же человеку с того же узла уйдёт мгновенно, потому что тройка уже в белом списке.

Больно бывает только первому письму, а регистрационное как раз первое. Отсюда и жалобы.

Слава Кудрин
Слава Кудрин
Участник
сообщений 760
с авг
22 августа, 17:55#5

Смотрите на код внимательно, там два разных случая. 4xx это «приходите позже», письмо в очереди, оно уйдёт. 5xx это отказ насовсем, повторов не будет. Их постоянно путают и лечат не то.

proxy_hands
proxy_hands
Знаток
сообщений 1405
с мая
1 января, 08:12#6

Первое, что я бы поправил у автора, это интервал повторов. Двадцать минут до первой повторной попытки, а грейлистинг просит триста секунд. Получается лишних пятнадцать минут ожидания на ровном месте.

# postfix, чтобы первые повторы шли часто
minimal_backoff_time = 120s
maximal_backoff_time = 1h
queue_run_delay = 120s

Первый повтор через две минуты, дальше интервал растёт. На двадцатиминутные жалобы это влияет сразу.

Ирина Пахомова
Ирина Пахомова
Новичок
сообщений 280
с янв, второй сезон
8 июня, 11:29#7
proxy_hands: лишних пятнадцать минут ожидания на ровном месте

У нас ровно это и было. Поставили короткий первый повтор, время доставки регистрационных писем упало до трёх минут.

kolyan_86
kolyan_86
Участник
сообщений 640
с июл
15 ноября, 14:46#8

а сколько повторов вообще делать, пока не сдаваться

Влад Терентьев
Влад Терентьев
Участник
сообщений 745
с авг
22 апреля, 17:03#9

Разумный порядок такой: частые повторы первый час, дальше редкие, общий срок жизни письма в очереди от двух до четырёх суток. Меньше суток ставить рискованно, потому что чужой сервер может лежать на профилактике полдня.

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

время до доставки первого письма
время до доставки первого письма
Пётр Мельник
Пётр Мельник
Участник
сообщений 810
с июл
1 сентября, 08:20#10

Добавлю про диагностику. Отличить грейлистинг от прочих временных отказов проще всего по тексту в скобках: там почти всегда пишут само слово и срок. Если текста нет, а код 450, повторите отправку руками через пять минут и посмотрите, пройдёт ли.

сначала замер, потом мнение
sonyaK
sonyaK
Новичок
сообщений 240
с фев, второй сезон
8 февраля, 11:37#11

у меня в такой ситуации помог просмотр очереди, сразу стало видно, что писем в ней десятки и все с одним кодом

hardline
hardline
Знаток
сообщений 970
с июн
15 июля, 14:54#12

Итог по теме, чтобы не потерялось.

Двадцать минут ожидания были нашей же настройкой, интервал повторов поставили в две минуты. Срок жизни письма в очереди подняли до трёх суток. Отправку увели на постоянный выход, потому что до этого повторы иногда уходили с другого адреса и сбрасывали проверку.

Жалобы на медленную регистрацию прекратились в тот же день. Спасибо всем.