【问题标题】:Can not connect to smtp.gmail.com in Django无法在 Django 中连接到 smtp.gmail.com
【发布时间】:2020-06-19 20:36:29
【问题描述】:

我正在尝试在 Django 项目中使用 smtp.gmail.com 发送电子邮件。 这是我的电子邮件设置。

settings.py

# Email Settings

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

views.py

...
send_mail( "message title", 
           "message content", 
           "myaccount@gmail.com", 
           ["myaccount@hotmail.com"], 
           fail_silently=False)

每当我尝试发送电子邮件时,都会收到此错误

/contact-us/ 处的 gaierror

[Errno-2] 名称或服务未知

我尝试了以下方法。

  1. 我将我的 Google 帐户的安全性较低的应用访问权限设置为开启。
  2. 我未选中 avast 防病毒设置“设置->保护->核心防护罩->邮件防护罩->扫描出站电子邮件 (SMTP)”
  3. 在电子邮件设置中尝试了不同的端口。 587和25
  4. 在电子邮件设置中切换了 ssl 和 tls。

但它还没有发送。当我使用 'django.core.mail.backends.console.EmailBackend' 而不是 'django.core.mail.backends.smtp.EmailBackend' 时,它会在控制台上打印电子邮件。

我在设置中仔细检查了我的 gmail 用户名和密码。 请帮帮我。

谢谢。

【问题讨论】:

    标签: python php django smtp gmail


    【解决方案1】:

    您可能需要在 Google 端进行一些配置。

    Reference answer::

    转到您的 Google 帐户设置,找到安全 -> 帐户权限 -> 访问不太安全的应用,启用此选项。

    https://accounts.google.com/DisplayUnlockCaptcha

    【讨论】:

    • 感谢您的建议。我相信您的回答是迈向成功的又一步。但不幸的是,它得到了同样的错误。
    • 您的电子邮件端口是否打开并且没有被任何防火墙阻止?
    • 很遗憾,我知道这是一个连接问题,但如果您为不安全的应用程序配置了 Google 帐户,我不确定它在哪里。如果我是你,我会创建一个新的临时 localhost Django 项目(不使用 ssl 和任何其他东西),只需使用电子邮件设置并使用现有设置测试 send_email 功能。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-03
    • 2021-11-21
    • 1970-01-01
    • 2014-05-15
    • 2016-11-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多