0

我正在学习如何发送电子邮件Djgnao。我已经配置

# settings.py
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'

EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = '<my username>@gmail.com'
EMAIL_HOST_PASSWORD = '<my password>'
EMAIL_PORT = 587
EMAIL_USE_TLS = True

django shell我尝试给我自己(和我的朋友)发送一封电子邮件

>>> from django.core.mail import send_mail
>>> send_mail('Subject here', 'Here is the message.', "<my username>@gmail.com", ["<my username>@gmail.com"])

它返回看起来成功的结果

MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Subject: Subject here
From: <my username>@gmail.com
To: <my username>@gmail.com
Date: Wed, 21 Jan 2015 17:55:20 -0000
Message-ID: <20150121175520.31612.19817@<my username>>

Here is the message.
---------------------------------------------------------------------
1

但是检查我的电子邮件和我朋友的电子邮件收件箱,没有收到这样的电子邮件。

我是不是误会了什么?还是我需要对我的 Gmail 帐户做些什么?


实际上,我在https://support.google.com/a/answer/182076?hl=en中尝试了 [登录到管理控制台] ,但我在“重新输入密码”页面和“选择帐户或添加新帐户”页面。我正在尝试我的免费普通个人Google帐户,这会是问题吗?

4

1 回答 1

4

问题是,你的设置是

EMAIL_BACKEND = django.core.mail.backends.console.EmailBackend

这意味着电子邮件将打印到控制台

控制台后端不会发送真正的电子邮件,而是将发送到标准输出的电子邮件写入。默认情况下,控制台后端写入标准输出。您可以通过在构造连接时提供 stream 关​​键字参数来使用不同的类流对象。

将其更改为

EMAIL_BACKEND = django.core.mail.backends.smtp.EmailBackend

让 SMTP 工作。这是相关文档

于 2015-01-21T18:39:24.093 回答