Как ограничить количество попыток отправки с одного релея?

Advanced Mass Sender tech support

Модератор: Max Terentiev

Ответить
Сообщение
Автор
Novik
Сообщения: 5
Зарегистрирован: Пн июн 09, 2014 10:56 am

Как ограничить количество попыток отправки с одного релея?

#1 Сообщение Novik » Вс сен 28, 2014 5:28 pm

Каким образом ограничивается количество попыток отправки сообщения с одного релея? В настройка устанавливаю:
Слать чрез другой релей при ошибка. Попыток: 1.
Отмечаю "пометить как "плохой" при исключении ошиб./авторзации.

Такой же вопрос по ротации.
Исходные данные - у меня 5 релеев.
Включаю ротацию и устанавливаю настройки:
Применять 1 релей за раз.
И выбрать следующий после отправки 5 сообщений.

И при запуске получается, что например 2ой релей не работающий, но AMS продолжает пытаться подключиться к нему, пока не отправит письмо.
-----------
Или у меня 100 релеев.
Ставлю настройки:
Применять 20 релеев за раз.
И выбрать следующий после отправки 20 сообщений.

И допустим 19 релеев отключились. AMS упорно пытается отправить 20 сообщений через всё те же 20 релеев, вместо того что бы задействовать следующие рабочие релеи (что бы работало 20 релеев).
-----------
Если отмечаю "Исключить релей из рассылки в случае множества ошибок" например "исключить на 300 секуд" при 1 ошибки, то опять таки вместо выбора следующих релеев, AMS устанавливает таймаут, по завершению которого всё равно пытается обратится к релеям, отправка с которых не удалаась.


Вопросов несколько:
1) какая логика работы AMS при исключении релеев?
2) воспринимается ли как ошибка (и срабатывает ли исключение релея), если от сервера получен код успешной авторизации, но не успешной отправки (например из-за фильтров).

Складывается ощущение, что загвоздка именно по второму пункту - софт успешно авторизуется, но не может отправить письмо из-за фильтра сервера. Из-за этого сочетания факторов соединение считается успешным (и исключение релея не срабатывает), но из-за другой ошибки в статистику релеев добавляется значение ошибки. И получается, что тогда надо дополнительно прописывать пользовательские SMTP правила на полученный ответ сервера?

Аватара пользователя
Max Terentiev
Admin
Сообщения: 1937
Зарегистрирован: Сб мар 27, 2004 12:01 am
Откуда: Санкт-Петербург
Контактная информация:

#2 Сообщение Max Terentiev » Чт окт 16, 2014 10:25 am

Каким образом ограничивается количество попыток отправки сообщения с одного релея?
Число попыток отправить письмо задается в профиле отправки на первой вкладке (Попыток отправки). Если там стоит 3 - в случае ошибок программа пытается отправить письмо 3 раза. Если у вас используется несколько релеев и стоит галка "слать через другой релей при ошибках" и число попыток 2 - то программа попробует отправить письмо 3 раза, потом через другой релей тоже 3 раза, в случае не удачи - еще раз через другой - тоже 3 попытки.
Исходные данные - у меня 5 релеев.
Включаю ротацию и устанавливаю настройки:
Применять 1 релей за раз.
И выбрать следующий после отправки 5 сообщений.

И при запуске получается, что например 2ой релей не работающий, но AMS продолжает пытаться подключиться к нему, пока не отправит письмо.
Если у вас используется ротация с размером пула 1 и при этом релей оказался не рабочим - программа никогда не переключится на следующий релей если у вас не задан таймаут смены пула ротации. Его нужно задать так, чтобы он был чуть больше того времени, за которое, в среднем, уходит число писем, после которой должна быть смена пула. В этом случае, если окажется что релей не рабочий - программа переключится на следующий в любом случае по истечении времени таймаута.
Или у меня 100 релеев.
Ставлю настройки:
Применять 20 релеев за раз.
И выбрать следующий после отправки 20 сообщений.

И допустим 19 релеев отключились. AMS упорно пытается отправить 20 сообщений через всё те же 20 релеев, вместо того что бы задействовать следующие рабочие релеи (что бы работало 20 релеев).
В этом случае программа будет пытаться отправить все 20 писем через оставшийся рабочий релей. Переключение на следующие 20 релеев произойдет после отправки 20 писем ИЛИ по истечении таймаута смены пула ротации.

Еще раз чтобы вы поняли: смена пула (переключение на следующие релеи) происходит после отправки заданого числа писем ИЛИ по истечении таймаута.
Если отмечаю "Исключить релей из рассылки в случае множества ошибок" например "исключить на 300 секуд" при 1 ошибки, то опять таки вместо выбора следующих релеев, AMS устанавливает таймаут, по завершению которого всё равно пытается обратится к релеям, отправка с которых не удалаась.
Да, верно. Программа использует только те релеи, которые есть в ТЕКУЩЕМ пуле ротации и не трогает те, что будут дальше до тех пор пока не отправит заданное число писем или не истечет таймаут. Если программа будет использовать следующие релеи до того как отработает текущий пул - теряется сам смысл ротации т.е. использовании не всех, а только нескольких релеев и переклюении на следующие по событию (отправка заданного числа писем или таймаут). Иначе говоря, когда включена ротация - программа работает только с теми релеями, что используются в данный момент, а остальные просто "не видит" до тех пор, пока на них не переключится.
1) какая логика работы AMS при исключении релеев?
Если стоит галка "Пометить как плохой при ошибках авторизации" - при первой же ошибки авторизации релей исключается из рассылки и помечается в профиле как плохой. Если эта галка не стоит - релей будет отключен после возникновения заданного числа ошибок подряд, при этом не важно какие это были ошибки.
воспринимается ли как ошибка (и срабатывает ли исключение релея), если от сервера получен код успешной авторизации, но не успешной отправки (например из-за фильтров).
Да. Не отправка письма по любым причинам считается ошибкой.

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 33 гостя