Я написал почтовый сервис для нашего флеш-приложения, которое использует Celery и RabbitMQ для отправки электронных писем (используя Gmail). Потребитель и производитель сельдерея общаются нормально, но я не могу отправлять электронные письма. Я получаю сообщение socket.error: [Errno 101] Сеть недоступна.
Я думаю, это означает, что AWS блокирует порт 587 - хотя в моей группе безопасности я открыл оба порта 587 и 25 (входящий и исходящий).
По какой причине это происходит? Любая помощь будет принята с благодарностью.
Чтобы отправить электронное письмо из AWS EC2 с помощью службы Gmail SMTP, выполните следующие действия.
вам необходимо установить правила для вашего экземпляра
После этого вы можете отправлять электронную почту, используя порт SMTP 587 из AWS EC2.
Пожалуйста, прочтите эту статью. https://support.google.com/accounts/answer/6010255?hl=en
Если оболочка брандмауэра aws запрещает доступ к tcp / 587 миру, ее можно открыть с помощью инструментов api ec2:
ec2-authorize [идентификатор-сек-группы] -P tcp -p 587 -s 0.0.0.0/0
хотя похоже, что вы уже открыли это. чтобы проверить, запустить
ec2-description-group [идентификатор-второй-группы]
Что касается icmp, который не отвечает, вы можете открыть это:
ec2-authorize [sec-group-id] -P icmp -t -1: -1 -s [ваш-общедоступный-ip] / 32