MailConnectException: Не удалось подключиться к хосту, порту - ограничение на количество запросов POP3, которые могут быть сделаны? - PullRequest
1 голос
/ 18 марта 2019

Я возился с JavaMail API и постоянно сталкивался с MailConnectException и SocketTimeoutException вскоре после попытки быстрого открытия множества сеансов (~ 50) одновременно (т. Е. Пытался войти в разные учетные записи одновременно).

Я никогда не сталкивался с этими ошибками при входе в одну учетную запись одновременно с примерно 3-5 секундами между запросами на вход.

Существует ли квота, которую Yahoo, Google и другие почтовые провайдеры устанавливают на номер?рукопожатий, которые могут быть сделаны за определенный промежуток времени для запросов IMAP, POP3 и SMTP?Если да, есть ли способ обойти это ограничение?

Или есть что-то еще, что может полностью вызвать MailConnectException?

1 Ответ

0 голосов
/ 19 марта 2019

Поставщики обычно реализуют как минимум 3 уровня защиты услуг:

  • Сетевой уровень;Большинство из них реализует защиту от SYN Floods .
  • Аутентификация;Большинство будет осуществлять защиту от злоупотреблений аутентификацией.Частота / скорость аутентификации, вероятно, здесь только верхушка айсберга.Репутация, разнообразие геолокации, шаблоны идентификаторов пользователей и IP и другие факторы, вероятно, более распространены для средств защиты аутентификации.
  • Уровень обслуживания / протокола;Большинство из них реализует специальные протоколные средства защиты от таких вещей, как нарушения RFC, массовое использование полосы пропускания и злоупотребление / спам.

Лучший способ избежать их - это кодировать в соответствии с опубликованными лучшими практиками (например, rfc2683) итаким образом, что у вас есть четко понятая цель делать то, что вы делаете.Например:

  • POP3 действительно не имеет хорошего сценария использования для 50 одновременных подключений
  • SMTP / Отправка с 50 одновременными подключениями очень похожа на спамера
  • IMAP с 50 одновременными подключениями возможно понятно, если клиент хочет выполнить сеанс для каждой папки и имеется 50 папок ... но даже тогда провайдеры могут отказаться от поддержки этого варианта использования иограничить количество одновременных подключений в любом случае.
...