Django电子邮件未发送,但在控制台中执行

Kab*_*zov 2 python django signals smtp django-rest-framework

我有一个密码更改信号的发送器。当我使用 endopint 时,它应该发送一封电子邮件,但它只在控制台中执行。

EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = '465'
EMAIL_HOST_USER = "*******"
EMAIL_HOST_PASSWORD = "******"
EMAIL_USE_SSL = True
EMAIL_USE_TLS = False
DEFAULT_FROM_EMAIL = "*******"
Run Code Online (Sandbox Code Playgroud)

控制台成功输出:

Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Subject: =?utf-8?b?0JTQvtCx0YDQviDQv9C+0LbQsNC70L7QstCw0YLRjCDQvdCwIHNpenpl?=
From: ********
To: kabiljanz0301@gmail.com
Date: Sat, 13 Feb 2021 16:30:12 -0000
Message-ID: 
 <161323381275.176437.7948111011454591000@kabiljan-Lenovo-IdeaPad-S340-14API>

/user/password_reset/?token=d2883b6ae18eb357ac1
-------------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

可能是什么问题呢?

Sur*_*sta 5

SMTP 后端\xc2\xb6

\n

SMTP后端是Django继承的默认配置。如果您想明确指定它,请将以下内容放入您的设置中:

\n
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'\n
Run Code Online (Sandbox Code Playgroud)\n

如果未指定,默认超时将是由 socket.getdefaulttimeout() 提供的超时,默认为 None(无超时)\n。

\n

控制台后端\xc2\xb6

\n

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

\n

要指定此后端,请将以下内容放入您的设置中:

\n
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'\n
Run Code Online (Sandbox Code Playgroud)\n

此后端不适合在生产 \xe2\x80\x93 中使用,它是为了在开发过程中使用提供便利而提供的。

\n

您在设置中使用控制台后端。将控制台后端替换为 SMTP 后端。

\n