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)
可能是什么问题呢?
SMTP 后端\xc2\xb6
\nSMTP后端是Django继承的默认配置。如果您想明确指定它,请将以下内容放入您的设置中:
\nEMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'\nRun Code Online (Sandbox Code Playgroud)\n如果未指定,默认超时将是由 socket.getdefaulttimeout() 提供的超时,默认为 None(无超时)\n。
\n控制台后端\xc2\xb6
\n控制台后端不发送真正的电子邮件,而是仅写入将发送到标准输出的电子邮件。默认情况下,控制台后端写入标准输出。您可以通过在构造连接时提供stream关键字参数来使用不同的类似流的对象。
\n要指定此后端,请将以下内容放入您的设置中:
\nEMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'\nRun Code Online (Sandbox Code Playgroud)\n此后端不适合在生产 \xe2\x80\x93 中使用,它是为了在开发过程中使用提供便利而提供的。
\n您在设置中使用控制台后端。将控制台后端替换为 SMTP 后端。
\n