Django send_mail 函数中的 email_from 不起作用[重复]

2024-02-29

我在我的网站中放置了一个联系表单,并且在我的 settings.py 中也有此表单

# Email settings
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'm[email protected] /cdn-cgi/l/email-protection'
EMAIL_HOST_PASSWORD = '****'
EMAIL_PORT = 587

这是我的观点。py

name = form.cleaned_data['name']
email = form.cleaned_data['email']
message = form.cleaned_data['message']
subject = 'Email from ' + name
content = name + '\r\n' + email + '\r\n\r\n' + message

send_mail(subject, content, email, ['[email protected] /cdn-cgi/l/email-protection'])

一切正常,我收到包含所有信息的电子邮件,但是该电子邮件来自[email protected] /cdn-cgi/l/email-protection即使 from_email 参数具有emailvar 与发件人电子邮件。

它不起作用,或者我做错了什么?

我想从发件人那里获取电子邮件,这样您就可以回复它,就像我在 PHP 中所做的那样。

谢谢。


Gmail不会让你spoof电子邮件来自哪里。

每个用户 iAn 在类似的帖子 https://stackoverflow.com/questions/1332510/how-to-change-from-address-when-using-gmail-smtp-server

简短的回答是——你不能。

Google 会将您通过其 SMTP 服务发送的邮件中的发件人和回复标头重写为与您的 Gmail 帐户相关的值。

Gmail 的 SMTP 功能并非旨在成为开放或中继服务。如果它允许 From 标头使用任何值,则会显着削弱 Google 在垃圾邮件服务方面的地位,因为无法验证发件人的凭据。

您需要考虑替代方案。完成后您打算如何托管您的脚本/应用程序/网站:几乎每个托管解决方案(共享/vps/专用服务器)都将预先配置电子邮件传输解决方案:无论是 *nix 上的 sendmail 或 postfix,还是 IIS在 Windows 上。

如果您打算使用 Gmail,那么您可以:

设置专门的“[电子邮件受保护] /cdn-cgi/l/email-protection“ 帐户 如果您拥有要发送邮件的域名,请使用免费的 Gmail 域名,并设置一个“[电子邮件受保护] /cdn-cgi/l/email-protection“ 帐户。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django send_mail 函数中的 email_from 不起作用[重复] 的相关文章

随机推荐