gpt4 book ai didi

Django-尝试使用 send_mail() 在 python shell 中发送电子邮件,但无法工作

转载 作者:行者123 更新时间:2023-12-02 03:19:23 25 4
gpt4 key购买 nike

我试图在我的 Django 项目中发送帐户激活链接,但它无法工作。所以我在 shell 中尝试了非常基本的 send_mail() 函数,看看它是否正在发送。

在settin.py中

    AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend', # necessary for django.auth
'survey.modelbackend.EmailBackend' # custom backend to authenticate using the email field
)

#settings for the email
EMAIL_HOST = 'localhost'
EMAIL_PORT = 25
DEFAULT_FROM_EMAIL = 'webmaster@localhost'

(我使用电子邮件设置中的所有默认值)

在我输入的 shell 中

>>> from django.core.mail import send_mail
>>> send_mail('Subject here', 'Here is the message.', 'from@example.com',
... ['myemailaddress@gmail.com'], fail_silently=False)

上面一行之后返回1,但我无法在自己的电子邮件中收到电子邮件

任何人都可以帮助解决此问题并解释为什么电子邮件没有发送到我的电子邮件吗?

非常感谢。

最佳答案

我要继续说邮件可能正在发送,但它到达了您的垃圾邮件过滤器。

除非您将 django.core.mail.backends.smtp.EmailBackend 以外的内容设置为 settings.EMAIL_BACKEND,否则您只会得到 True(或1)如果后端已成功连接到服务器并告诉服务器发送消息。如果 fail_silently=False,则意味着 send_mail 将返回 True 或引发异常。这意味着错误要么存在于您的 SMTP 中,要么直接发送到“垃圾邮件”。

但是,如果您已经检查过垃圾邮件,有一些方法可以让 SMTP 服务器默默地失败。查看这篇文章 Sendmail (最常见的 *nix 应用程序之一),或 this one for Mercury (适用于 Windows 的 SMTP 服务器之一)。如果您使用的是 IIS,this site看起来它解决了一些潜在的问题。

关于Django-尝试使用 send_mail() 在 python shell 中发送电子邮件,但无法工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17334296/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com