Мы изменили наш микроэкземпляр на небольшой внутри VPC, и теперь отправка электронной почты иногда происходит быстро, а в большинстве случаев - очень-очень медленно. Как будто наши веб-страницы будут зависать, а затем они в конечном итоге завершаются, а иногда электронные письма не приходят.
Кроме того, мне пришлось изменить код .net, который отправляет им электронные письма, потому что я получал сообщение об ошибке. Мне пришлось начать избавляться от класса SmtpClient. Мне никогда раньше не приходилось этого делать! Ошибка исчезла, но медлительность осталась.
Что могло быть причиной этого?
Когда я не избавляюсь от SmtpClient, я получаю сообщение об ошибке ...
«Услуга недоступна, закрывается канал передачи. Ответ сервера был: Тайм-аут ожидания данных от клиента.
Краткий ответ: используйте HTTPS SES API вместо конечной точки SMTP.
Длинный ответ: некоторое время назад мы использовали конечную точку SES SMTP в некоторых проектах и обнаружили ту же проблему: когда мы пытались отправить большое количество писем (и не такое большое), истекло время ожидания конечной точки SES SMTP. Мы безуспешно пытались решить эту проблему, развернув несколько экземпляров Postfix в качестве прокси-реле. В конце концов мы решили использовать HTTPS API, и все проблемы с тайм-аутом исчезли. У нас никогда не было официального ответа от службы поддержки AWS, но мы думаем, что это связано с какой-то защитой скорости отправки на программном уровне SMTP, реализованной в SES.