我在我的网站上放了一个联系表单,我在settings.py
中有这个# Email settings
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'myemail@gmail.com'
EMAIL_HOST_PASSWORD = '****'
EMAIL_PORT = 587
这在我的views.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, ['me@myemail.com'])
一切正常,我收到包含所有信息的电子邮件,但是,即使from_email参数的myemail@gmail.com
var包含发件人电子邮件,该电子邮件也来自email
。
它不起作用或我做错了什么?
我想收到来自发件人的电子邮件,所以您可以回复它,就像我在PHP中一样。
谢谢。
答案 0 :(得分:8)
Gmail不会让您欺骗电子邮件的来源。
每位用户iAn similar post
简短的回答 - 你不能。
Google会将您通过其SMTP服务发送的邮件中的“发件人”和“回复”标题重写为与您的Gmail帐户相关的值。
gmail的SMTP功能不是开放或中继服务。如果它允许From标头的任何值,它将大大淡化Google在垃圾邮件服务方面的地位,因为无法验证发件人的凭据。
您需要考虑替代方案。你计划在完成后如何托管你的脚本/应用程序/网站:几乎每个托管解决方案(共享/ vps /专用服务器)都将预先配置一个电子邮件传输解决方案:无论是sendmail还是postfix on * nix,还是IIS在Windows上。
如果您打算使用gmail,那么您可以:
设置专用的“myapp@gmail.com”帐户 如果您拥有您应该发送的域名,请使用域名的免费Gmail,并设置“myapp@mydomain.com”帐户。