Как использовать Gmail SMTP с портом 587 на AWS EC2?
Я использовал службу Gmail SMTP с портом 587 на локальном сервере, и он работает нормально.
Но он не работает на экземпляре AWS EC2. Поэтому я добавил SMTP-правила к входящим правилам безопасности экземпляра EC2, см. Изображение ниже, но SMTP-порт нельзя редактировать.
Теперь проблема в том, если ваш домен не настроен защищенные соединения. Gmail не предлагает порт 25 в незащищенном соединении.
Таким образом, есть любой способ использовать SMTP на незащищенном соединении с 25 портом или любым другим способом.
2 ответа
У меня исправлена проблема с сервером разработки. Пожалуйста, не это не правильный путь к производственной площадке.
Чтобы отправить электронное письмо с AWS EC2 с помощью службы Gmail SMTP, выполните следующие действия.
- Измените группу безопасности вашего экземпляра EC2.
- Отредактируйте входящие правила группы безопасности.
- Добавьте порт 587 во входящие правила. Смотрите изображение ниже.
вам нужно установить входящие правила вашего экземпляра для входящей почты и исходящие для отправки.
После этого вы можете отправлять электронную почту через порт SMTP 587 из AWS EC2.
Пожалуйста, прочитайте эту статью. https://support.google.com/accounts/answer/6010255?hl=en
Из-за злоупотреблений спамом, которые исторически рассылались людьми, использующими экземпляры EC2, практически ВСЕ популярные почтовые провайдеры блокируют получение электронной почты от экземпляров EC2. Мир электронной почты и мер по борьбе со спамом частично носит технический, частично политический характер. По этой причине AWS предлагает Amazon Simple Email Service.
Шаг, чтобы исправить это-
- Перейдите в настройки учетной записи google и включите двухэтапную проверку.
- Теперь сгенерируйте пароль приложения, которому вы хотите отправлять почту.
- Используйте сгенерированный пароль для приложения в SMTP с тем же адресом электронной почты.
Вот и все.
Чтобы отправить электронное письмо с C#, размещенного на Amazon EC2, убедитесь, что у вас есть две вещи.
- Используйте следующие настройки в вашем 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>
- Войдите в вышеупомянутую учетную запись 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
Надеюсь это поможет!