【问题标题】:Django send_mail not working with gmailDjango send_mail 无法使用 gmail
【发布时间】:2015-08-10 01:52:22
【问题描述】:

我一直在尝试让 django 发送测试电子邮件,但没有成功。我的测试电子邮件是从 python 任何地方的开发站点发送的。这是我对ajax的看法:

def ajaxLearning(request): 
    if request.method == 'GET':
        from django.core.mail import send_mail
        send_mail('Put your Email subject here', 'Put your Email message here.',
                  'myspamgoes@gmail.com', ['someemail@yahoo.com'],
                  fail_silently=False)
        return HttpResponse("end");
     else:
        pass

这是我的 settings.py:

DEFAULT_FROM_EMAIL = 'myspamgoes@gmail.com'
SERVER_EMAIL = 'myspamgoes@gmail.com'
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'myspamgoes@gmail.com'
EMAIL_HOST_PASSWORD = 'mypassword'

在这一点上,我觉得自己好像犯了一些更高级别的错误,例如,使用了错误版本的 django、未能安装重要的东西,或者在 gmail 方面做错了什么。对于我今天早些时候更改的密码,我使用的是我通常用来登录我的帐户的密码。感谢您花时间阅读我的问题!

【问题讨论】:

  • Django 会引发异常吗?
  • 你设置了吗:EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' ?
  • 感谢您的回答!我确实有一次设置了 EMAIL_BACKEND。解决方案实际上是 gmail 阻止了访问。我不得不进入我的 gmail 帐户并拨动开关来修复它。

标签: django email smtp gmail


【解决方案1】:

settings.py 中的更改

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST='smtp.gmail.com'
EMAIL_PORT=587
EMAIL_HOST_USER = 'myemailhere@gmail.com'
EMAIL_HOST_PASSWORD = '**********'  
DEFAULT_FROM_EMAIL = 'myemailhere@gmail.com'
EMAIL_USE_TLS = True

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-29
    • 2015-11-12
    • 1970-01-01
    • 2013-09-24
    • 2012-03-14
    相关资源
    最近更新 更多