Django中使用多线程发送邮件
2024-09-03 04:50:44
1、settings.py 增加Email设置
#mail
EMAIL_HOST = ‘smtp.gmail.com’ #邮件smtp服务器
EMAIL_PORT = ’25′ #端口
EMAIL_HOST_USER = ‘code***@gmail.com’ #邮件账户
EMAIL_HOST_PASSWORD = ‘*********’ #密码
EMAIL_USE_TLS = False
2、views.py 发送邮件
from django.core.mail import EmailMultiAlternativesfrom django.template import loaderfrom settings import EMAIL_HOST_USERimport threadingfrom_email = EMAIL_HOST_USERclass EmailThread(threading.Thread):def __init__(self, subject, body, from_email, recipient_list, fail_silently, html):self.subject = subjectself.body = bodyself.recipient_list = recipient_listself.from_email = from_emailself.fail_silently = fail_silentlyself.html = htmlthreading.Thread.__init__(self)def run (self):msg = EmailMultiAlternatives(self.subject, self.body, self.from_email, self.recipient_list)if self.html:msg.attach_alternative(self.body,self.html)msg.send(self.fail_silently)def send_mail(subject, body, from_email, recipient_list, fail_silently=False, html=None, *args, **kwargs):EmailThread(subject, body, from_email, recipient_list, fail_silently, html).start()def test_mail(request):subject = u'邮件主题'to_mail_list = ['abc@gmail.com','test@qq.com']body = loader.render_to_string('mail_template.html',{'email':email,'date':datetime.today(), })send_mail(subject,body,from_email,to_mail_list,html="text/html")return "ok"
最新文章
- MySQL 半同步复制+MMM架构
- 重写Oracle的wm_concat函数,自定义分隔符、排序
- AngularJS(一)
- paper 13:计算机视觉研究群体及专家主页汇总
- iOS App Launch Option
- [转]利用vertical-align:middle实现在整个页面居中
- Setup FTP Server On CentOS, RHEL, Scientific Linux 6.5/6.4/6.3
- php 上传文件 $_FILES['']['type']的值
- TurnipBit—MicroPython开发板:妥妥拽拽零基础也能玩编程
- ABP官方文档翻译 3.5 规约
- 可以让你神操作的手机APP推荐 个个都是爆款系列
- JVM运行时数据区(一)
- mysql5.5升级到5.7
- 运行vue init webpack vueTest时报错
- 浅析ARM公司在物联网领域的战略布局
- MSF里MS17_010利用模块笔记
- Learning coding online
- EntityFramework:状态变化与方法的关系(朋友的学习笔记)
- MySQL (1366, ";Incorrect string value: '\\xF0\\x9F\\x8E\\xAC\\xE5\\x89...' for column 'description' at row 1";)
- C语言中文件打开模式(r/w/a/r+/w+/a+/rb/wb/ab/rb+/wb+/ab+)浅析
热门文章
- word-break word-wrap
- 2. Ext中关于Ext.QuickTips.init()的使用
- Swift4 类与继承, 类型转换, 类型判断
- Objective-C NSString/NSMutableString
- python 面向对象十 __init__和__new__
- bzoj 3205: [Apio2013]机器人【dfs+斯坦纳树+spfa】
- bzoj 1006: [HNOI2008]神奇的国度【弦图+LesBFS】
- bzoj 4819: [Sdoi2017]新生舞会【二分+最小费用最大流】
- 洛谷P4550 收集邮票(概率期望)
- 洛谷P3246 [HNOI2016]序列