Как использовать Gmail SMTP с портом 587 на AWS EC2?

Я использовал службу Gmail SMTP с портом 587 на локальном сервере, и он работает нормально.

Но он не работает на экземпляре AWS EC2. Поэтому я добавил SMTP-правила к входящим правилам безопасности экземпляра EC2, см. Изображение ниже, но SMTP-порт нельзя редактировать.

Теперь проблема в том, если ваш домен не настроен защищенные соединения. Gmail не предлагает порт 25 в незащищенном соединении.

Таким образом, есть любой способ использовать SMTP на незащищенном соединении с 25 портом или любым другим способом.

2 ответа

Решение

У меня исправлена ​​проблема с сервером разработки. Пожалуйста, не это не правильный путь к производственной площадке.

Чтобы отправить электронное письмо с 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

Из-за злоупотреблений спамом, которые исторически рассылались людьми, использующими экземпляры EC2, практически ВСЕ популярные почтовые провайдеры блокируют получение электронной почты от экземпляров EC2. Мир электронной почты и мер по борьбе со спамом частично носит технический, частично политический характер. По этой причине AWS предлагает Amazon Simple Email Service.

Шаг, чтобы исправить это-

  1. Перейдите в настройки учетной записи google и включите двухэтапную проверку.
  2. Теперь сгенерируйте пароль приложения, которому вы хотите отправлять почту.
  3. Используйте сгенерированный пароль для приложения в SMTP с тем же адресом электронной почты.

Вот и все.

Чтобы отправить электронное письмо с C#, размещенного на Amazon EC2, убедитесь, что у вас есть две вещи.

  1. Используйте следующие настройки в вашем Web.config
<mailSettings>
      <smtp deliveryMethod="Network" from="<from email goes here>">
        <network host="smtp.gmail.com" port="587" enableSsl="true" userName="email id goes here" password="<password goes here> />   
      </smtp>
    </mailSettings>
  1. Войдите в вышеупомянутую учетную запись Gmail на Amazon EC2. Если вы не авторизуетесь, gmail блокирует отправку электронной почты из кода по соображениям безопасности.

Согласно документации Googles, вы можете использовать службу ретрансляции SMTP G Suite через порт 25. Вы можете прочитать дополнительную информацию здесь:

https://support.google.com/a/answer/176600?hl=en

и здесь:

https://support.google.com/a/answer/2956491

Надеюсь это поможет!

Другие вопросы по тегам