Django邮件发送

Django

邮件发送

3.多种发邮件类型:

a.一封邮件发多人:send_mail,多人在列表里指定

b.多封邮件发多人:send_mass_mail,多套放在元组里

c.邮件中添加其他类型的内容:EmailMultiAlternatives、attach_alternative、send,制定了其他格式内容,原内容会被覆盖

4.综合案例:通过httpie等接口测试工具,post传递发邮件所需要的数据,并对逻辑做了处理,httpie默认传递json格式的数据,需要先解析成普通python基本数据类型,再进行操作(可用django自带的json loads dumps,也可用django框架restframework的parsers的JSONParser),导入的BadHeaderError用在请求数据有误时抛出无效的请求头 异常

源代码

一发多

def test01(request): # 一封邮件多发

send_mail(

'这里是标题',

'内容:天青色等烟雨',

fail_silently=False,

)

return HttpResponse('OK')

多发多

def test02(request):

datatuple = (

send_mass_mail(datatuple,fail_silently=False)

return HttpResponse('OVER')

定制

def test03(request):

text_content = '红尘客栈'

html_content = '红尘客栈风似刀,骤雨落宿命敲'

msg = EmailMultiAlternatives(subject,text_content,from_email,to)

msg.attach_alternative(html_content,'text/html')

msg.send()

return HttpResponse('html OVER')

综合

def sendmail(request):

#用httpie测试接口时,默认传递过来的时json数据,所以需要先解析成python基本数据类型,再操作

if request.method == 'POST':

data = JSONParser().parse(request)

subject = data.get('subject','')

message = data.get('message','')

from_email = data.get('from_email','')

if subject and message and from_email:

try:

except BadHeaderError:

return HttpResponse('Invalid header found.')

return HttpResponse('success OVER')

else:

return HttpResponse('Make sure all fields are entered and valid.')

return HttpResponse('GETGET')

每天用心点

will be better

END

☺喜欢请在下方点赞吧!

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20180908G11E4T00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券