gpt4 book ai didi

django - 如何使用 smtp.EmailBackend 在 Django 中发送电子邮件而不通过邮件服务器进行身份验证

转载 作者:行者123 更新时间:2023-12-04 13:42:38 27 4
gpt4 key购买 nike

有没有办法明确告诉 Django 在发送电子邮件时不要向邮件服务器进行身份验证。

我目前在 settings.py 中使用以下设置来发送电子邮件。

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'my-mail-server'
EMAIL_PORT = 25

请不要说我没有 EMAIL_HOST_USEREMAIL_HOST_PASSWORD并且我使用的 smtp 邮件服务器不需要客户端进行身份验证

编辑:
当我使用这些设置时,我收到此错误
smtp.SMTPSenderRefused: Client was not authenticated

最佳答案

如果服务器不需要身份验证,例如 Gmail SMTP 中继(通过 IP 进行身份验证),则需要跳过身份验证步骤。

如果您正在使用 django.core.mail.backends.smtp.EmailBackend你可以在它的代码中找到:

if self.username and self.password:
self.connection.login(self.username, self.password)

这意味着如果您的用户名或密码为空,EmailBackend 将跳过服务器上的身份验证。

所以,你需要保留 EMAIL_HOST_USEREMAIL_HOST_PASSWORD为空或根本不指定它们。

关于django - 如何使用 smtp.EmailBackend 在 Django 中发送电子邮件而不通过邮件服务器进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54671119/

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