Есть ли ограничение на количество запросов к серверу Gmail SMTP / сек?
Я пытаюсь отправить электронную почту, используя SMTP-сервер Gmail из Java (развернут в Tomcat). При выполнении нагрузочного тестирования, если число запросов / сек к SMTP-серверу растет больше (>20), я получаю это исключение
javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 587;
nested exception is:java.net.ConnectException: Connection timed out
Существуют ли ограничения в скорости доступа к SMTP-серверу Gmail? Должен ли я вводить задержку между каждым запросом?
1 ответ
После некоторого поиска, введение задержки между каждым отправлением электронной почты - путь, если вы хотите продолжать использовать SMTP-серверы от Google. Однако из того, что я прочитал, для этих SMTP-серверов требуется значительная задержка, чтобы они не закрывали ваше соединение принудительно и активно не сбрасывали новые соединения (под значительной задержкой я подразумеваю задержки более 60 секунд). О нагрузочном тестировании не может быть и речи: современные компьютеры должны быть в состоянии обработать отправку электронной почты в течение 60 секунд без каких-либо проблем.
Итог: не используйте Gmail SMTP для нагрузочного тестирования. Я бы порекомендовал настроить свой собственный SMTP-сервер, который вы можете использовать, или, возможно (временно), получить учетную запись в профессиональной почтовой службе. Имейте в виду, однако, что если вы размещаете свой собственный SMTP-сервер, есть вероятность, что ваше программное обеспечение работает так, как должно, но SMTP-сервер может иметь защиту от спама (по умолчанию).