Python django实现简单的邮件系统发送邮件功能

Python django实现简单的邮件系统发送邮件功能,第1张

概述本文实例讲述了Pythondjango实现简单的邮件系统发送邮件功能。分享给大家供大家参考,具体如下:

本文实例讲述了Python django实现简单的邮件系统发送邮件功能。分享给大家供大家参考,具体如下:

django邮件系统

Django发送邮件官方中文文档

总结如下:

1、首先这份文档看三两遍是不行的,很多东西再看一遍就通顺了。
2、send_mail()、send_mass_mail()都是对EmailMessage类使用方式的一个轻度封装,所以要关注底层的EmailMessage。
3、异常处理防止邮件头注入。
4、一定要弄懂Email backends 邮件发送后端
5、多线程的邮件发送。

个人简单配置如下:

首先是settings.py文件

#settings.py#邮件配置EMAIL_HOST = 'smtp.gmail.com'          #SMTP地址EMAIL_PORT = 25                 #SMTP端口EMAIL_HOST_USER = 'pythonsuper@gmail.com'    #我自己的邮箱EMAIL_HOST_PASSWORD = '******'         #我的邮箱密码EMAIL_SUBJECT_PREFIX = u'[CoorCar网]'      #为邮件Subject-line前缀,默认是'[django]'EMAIL_USE_TLS = True               #与SMTP服务器通信时,是否启动TLS链接(安全链接)。默认是false#管理员站点SERVER_EMAIL = 'xinxinyu2011@163.com'      #The email address that error messages come from,such as those sent to adminS and MANAGERS.

这里推荐:各大型邮箱smtp服务器及端口收集

各大型邮箱smtp服务器及端口收集:

新浪邮箱smtp服务器
外发服务器:smtp.vip.sina.com
收件服务器:pop3.vip.sina.com
新浪免费邮件
外发服务器:smtp.sina.com.cn
收件服务器:pop3.sina.com.cn
163邮箱smtp服务器
pop: pop.163.com
smtp: smtp.163.com
QQ邮箱smtp服务器及端口
接收邮件服务器:imap.exmail.qq.com,使用SSL,端口号993
发送邮件服务器:smtp.exmail.qq.com,使用SSL,端口号465或587
yahoo邮箱smtp服务器
接:pop.mail.yahoo.com.cn
发:smtp.mail.yahoo.com
126邮箱smtp服务器
pop: pop.126.com
smtp: smtp.126.com
新浪免费邮箱
POP3:pop.sina.com
SMTP:smtp.sina.com
SMTP端口号:25
新浪VIP邮箱
POP3:pop3.vip.sina.com
SMTP:smtp.vip.sina.com
SMTP端口号:25
新浪企业邮箱
POP3:pop.sina.com
SMTP:smtp.sina.com
SMTP端口号:25
雅虎邮箱
POP3:pop.mail.yahoo.cn
SMTP:smtp.mail.yahoo.cn
SMTP端口号:25
搜狐邮箱
POP3:pop3.sohu.com
SMTP:smtp.sohu.com
SMTP端口号:25
TOM邮箱
POP3:pop.tom.com
SMTP:smtp.tom.com
SMTP端口号:25
Gmail邮箱
POP3:pop.gmail.com
SMTP:smtp.gmail.com
SMTP端口号:587 或 25
QQ邮箱
POP3:pop.exmail.qq.com
SMTP:smtp.exmail.qq.com
SMTP端口号:25
263邮箱
域名:263.net
POP3:263.net
SMTP:smtp.263.net
SMTP端口号:25
域名:x263.net
POP3:pop.x263.net
SMTP:smtp.x263.net
SMTP端口号:25
域名:263.net.cn
POP3:263.net.cn
SMTP:263.net.cn
SMTP端口号:25
域名:炫我型
POP3:pop.263xmail.com
SMTP:smtp.263xmail.com
SMTP端口号:25
21CN 免费邮箱
POP3:pop.21cn.com
SMTP:smtp.21cn.com
IMAP:imap.21cn.com
SMTP端口号:25
21CN 经济邮邮箱
POP3:pop.21cn.com
SMTP:smtp.21cn.com
SMTP端口号:25
21CN 商务邮邮箱
POP3:pop.21cn.net
SMTP:smtp.21cn.net
SMTP端口号:25
21CN 快感邮箱
POP3:vip.21cn.com
SMTP:vip.21cn.com
SMTP端口号:25
21CN Y邮箱
POP3:pop.y.vip.21cn.com
SMTP:smtp.y.vip.21cn.com
SMTP端口号:25
中华网任我邮邮箱
POP3:rwpop.china.com
SMTP:rwsmtp.china.com
SMTP端口号:25
中华网时尚、商务邮箱
POP3:pop.china.com
SMTP:smtp.china.com
SMTP端口号:25

那么发送邮件如下:

def setEmail(request):  if request.method == "POST":#    方式一:#     send_mail('subject','this is the message of email','pythonsuper@gmail.com',['1565208411@qq.com','1373763906@qq.com'],fail_silently=True)#    方式二:#     message1 = ('subject1','this is the message of email1','xinxinyu2011@163.com'])#     message2 = ('subject2','this is the message of email2',['1373763906@qq.com','xinxinyu2011@163.com'])#     send_mass_mail((message1,message2),fail_silently=False)#    方式三:防止邮件头注入#     try:#       send_mail(subject,message,from_email,recipIEnt_@R_403_6818@,fail_silently,auth_user,auth_password,connection)#     except BadheaderError:#       return httpResponse('Invaild header fount.')#    方式四:EmailMessage()    #首先实例化一个EmailMessage()对象#     em = EmailMessage('subject','body','from@example.com',['1565208411@qq.com'],['xinxinyu2011@163.com'],header={'Reply-to':'another@example.com'})    #调用相应的方法#     方式五:发送多用途邮件    subject,form_email,to = 'hello','1565208411@qq.com'    text_content = 'This is an important message'    HTML_content = u'<b>激活链接:</b><a href="http://www.baIDu.com" rel="external nofollow" >http:www.baIDu.com</a>'    msg = EmailMultiAlternatives(subject,text_content,[to])    msg.attach_alternative(HTML_content,'text/HTML')    msg.send()#    发送邮件成功了给管理员发送一个反馈#     mail_admins(u'用户注册反馈',u'当前XX用户注册了该网站',fail_silently=True)    return httpResponse(u'发送邮件成功')  return render_to_response('common/test.HTML')

截图如下:

class Send_mail(object):  '''发送邮件'''  def __init__(self,sender,passward,receivers):    self.sender=sender    self.password=passward    self.receivers=receivers  def send(self,showtext,name,header_show):    '''    :param showtext: 发送内容    :param name: 发送者    :param header_show: 发送文件抬头    :return:    '''    message = MIMEText('%s'%(showtext),'plain','utf-8')    message['From'] = header("%s"%(name),'utf-8')    message['To'] = header("jiayuguang@qq.com")    message['Subject'] = header("%s"%(header_show),'utf-8')    smtpObj=smtplib.SMTP('smtp.163.com')    smtpObj.set_deBUGlevel(1)    smtpObj.login(self.sender,self.password)    smtpObj.sendmail(self.sender,self.receivers,message.as_string())    smtpObj.quit()

更多关于Python相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串 *** 作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录 *** 作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

总结

以上是内存溢出为你收集整理的Python django实现简单的邮件系统发送邮件功能全部内容,希望文章能够帮你解决Python django实现简单的邮件系统发送邮件功能所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1201898.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存