Джанго settings.py
включает в себя следующее:Джанго send_mail() из EC2 через Gmail дает SMTPAuthenticationError - но отлично работает в локальном хосте проект
EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend"
EMAIL_HOST = "smtp.gmail.com"
EMAIL_HOST_USER = "[email protected]"
EMAIL_HOST_PASSWORD = "thug_life"
EMAIL_PORT = 587
EMAIL_USE_TLS = True
мое приложение views.py
содержит следующие
def send_classic_email(request):
from django.core.mail import send_mail
send_mail(
subject = "Tale of two cities",
from_email = "Charles Dickens <[email protected]>",
recipient_list = ["[email protected]"],
message = "There were 2 cities",
html_message = "<p>There were 2 cities</p>",
fail_silently = False,
)
print "Absolutely Perfectly Done"
Пробовал с локального хоста. Получил SMTPAuthenticationError
в ответ:
SMTPAuthenticationError at /send_classic_email/
(534, '1.3.95 <https://accounts.google.com/ContinueSignIn?sarp=1&scc=1&plt=fsadjSADJH\n1.3.95
fjkshFHAKSHkdfshkfkhj-sfjdhFsadASDA_\n1.3.95
dasdASDADas-aDas-hfhjsadASDSAhjjhd\n1.3.95
ADSaSADkja_adhjkADKjhads-ASADS_SDAKjadAKJhsADS-k\n1.3.95
sadhkjADSAKJSDJAlkjdaA> Please log in via your web browser and\n1.3.95
then try again.\n1.3.95
Learn more at\n1.3.95
https://support.google.com/mail/answer/78754 dkahASDASlkjdas.25 - gsmtp')
Затем посетил https://www.google.com/settings/security/lesssecureapps и включен параметр less secure app
.
После этого попробовал еще раз с localhost. Получил это:
Абсолютно идеально Done
Развернутые это очень код на AWS EC2. Пробовал из EC2. Есть тот же SMTPAuthenticationError
снова:
SMTPAuthenticationError at /send_classic_email/
(534, '1.3.95 <https://accounts.google.com/ContinueSignIn?sarp=1&scc=1&plt=fsadjSADJH\n1.3.95
fjkshFHAKSHkdfshkfkhj-sfjdhFsadASDA_\n1.3.95
dasdASDADas-aDas-hfhjsadASDSAhjjhd\n1.3.95
ADSaSADkja_adhjkADKjhads-ASADS_SDAKjadAKJhsADS-k\n1.3.95
sadhkjADSAKJSDJAlkjdaA> Please log in via your web browser and\n1.3.95
then try again.\n1.3.95
Learn more at\n1.3.95
https://support.google.com/mail/answer/78754 dkahASDASlkjdas.25 - gsmtp')
Пошел к группам безопасности EC2:
- Inbound правила SMTP порт из ВСЕ источники включены.
- Исходящие правила для ALL трафика для ВСЕХ портов над все протоколы к ВСЕ направления включены.
По-прежнему получают то же самое SMTPAuthenticationError
.
Почему он работает нормально от локального хоста, а не от экземпляра EC2?
Запуск Django 1.8.0
на Python 2.7.6
в Ubuntu 14.04.3 LTS
Возможно, вам понадобится разблокировать Captcha, чтобы включить Django для отправки: https://accounts.google.com/displayunlockcaptcha – jape
ok ... я попробую это ... но как это объясняет, что я отлично работаю от своего localhost и работать с EC2? –
@jape ... на самом деле работа. Пожалуйста, напишите правильный ответ StackOverflow, чтобы я мог принять. Тем не менее, я до сих пор не понимаю, почему он работал нормально с localhost, а не с EC2, пока я не пошел по ссылке, которую вы поделили –