Ben*_*Ben 6 email django email-integration
我的项目中有几个实例,我尝试在Django视图中发送电子邮件.
我希望能够在视图中对电子邮件发件人进行硬编码.但是,当我尝试这样做时,它会继续从我的设置文件中指定的默认帐户发送电子邮件.
这是一个例子:
if testform.is_valid():
beta=testform.save()
subject="Hi Beta Tester"
sender="correct@email.com"
recipient=[testform.cleaned_data['email']]
text=loader.get_template('registration/beta_email.txt')
html=loader.get_template('registration/beta_email.html')
site_name='mysite'
d=Context({'site_name':site_name})
text_content=text.render(d)
html_content=html.render(d)
#This sends two mail versions, plain text and html
msg=EmailMultiAlternatives(subject, text_content, sender, recipient)
msg.attach_alternative(html_content, "text/html")
msg.send()
return HttpResponseRedirect('/splash/')
Run Code Online (Sandbox Code Playgroud)
我以为我可以在这里明确指定sender参数.然而,当我测试它时,电子邮件是从我的设置文件中列出的地址发送的,配置如下:
EMAIL_USE_TLS=True
EMAIL_HOST='smtp.gmail.com'
EMAIL_HOST_USER='wrong@email.com'
EMAIL_HOST_PASSWORD='private'
DEFAULT_FROM_EMAIL='wrong@email.com'
Run Code Online (Sandbox Code Playgroud)
我是否只需删除DEFAULT_FROM_EMAIL常量即可使其正常工作?我试过这样做,似乎工作但我很困惑.在Django文档中,它建议在视图中设置发送者应该覆盖DEFAULT.
我终于在这里找到了问题.不幸的是,gmail重写了经过身份验证的smtp上的from和信封.
如果你想解决这个问题,你必须使用第三方邮件服务器(它不像这样一个小东西),然后发送邮件给gmail用户.
| 归档时间: |
|
| 查看次数: |
2089 次 |
| 最近记录: |