Назад | Перейти на главную страницу

Невозможно отправить электронную почту из экземпляра EC2 на порт 587

Я написал почтовый сервис для нашего флеш-приложения, которое использует Celery и RabbitMQ для отправки электронных писем (используя Gmail). Потребитель и производитель сельдерея общаются нормально, но я не могу отправлять электронные письма. Я получаю сообщение socket.error: [Errno 101] Сеть недоступна.

Я думаю, это означает, что AWS блокирует порт 587 - хотя в моей группе безопасности я открыл оба порта 587 и 25 (входящий и исходящий).

По какой причине это происходит? Любая помощь будет принята с благодарностью.

Чтобы отправить электронное письмо из AWS EC2 с помощью службы Gmail SMTP, выполните следующие действия.

  1. Измените группу безопасности вашего экземпляра EC2.
  2. Отредактируйте правила для входящих подключений группы безопасности.
  3. Добавьте порт 587 во входящие правила. См. Изображение ниже.

вам необходимо установить правила для вашего экземпляра

После этого вы можете отправлять электронную почту, используя порт SMTP 587 из AWS EC2.

Пожалуйста, прочтите эту статью. https://support.google.com/accounts/answer/6010255?hl=en

https://myaccount.google.com/lesssecureapps

Если оболочка брандмауэра 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