django 邮件发送功能备忘
ettings中
EMAIL_HOST ='smtp.126.com'
#设置发件人邮箱
EMAIL_HOST_USER = 'fy200908fy@126.com'
# 设置发件人 授权码
EMAIL_HOST_PASSWORD = 'q780202'
EMAIL_PORT = '25' #ssl 协议端口465、944
EMAIL_USE_TLS = True
# 以上这个配置信息,Django会自动读取,
# 使用账号以及授权码进行登录,
# 如果登录成功,可以发送邮件
send_mail('终于成功了','可以发送了,再试下试试功能t','fy200908fy@126.com',['cf200908@126.com'],fail_silently=False)
标题,内容,发件人,收件人,参数
126退件原因查看:
http://help.163.com/09/1224/17/5RAJ4LMH00753VB8.html
Django内置email发送邮件
1、首先在settings.py文件设置相关参数
STATIC_URL = '/static/' # 设置邮件域名 EMAIL_HOST = 'smtp.163.com' # 设置端口号,为数字 EMAIL_PORT = 25 #设置发件人邮箱 EMAIL_HOST_USER = 'xxxxx@163.com' # 设置发件人 授权码 EMAIL_HOST_PASSWORD = '自己的授权码' # 设置是否启用安全链接 EMAIL_USER_TLS = True # 以上这个配置信息,Django会自动读取, # 使用账号以及授权码进行登录, # 如果登录成功,可以发送邮件
2、回到views.py 文件,加入以下代码
# 引入发送邮件的模块 from django.core.mail import send_mail, send_mass_mail, EmailMultiAlternatives from django.conf import settings send_mail('关于中秋节放假通知', '中秋节放三天假', 'qiqi1931@163.com', ['qiqi1931@163.com'] fail_silently = False) # 值1:邮件标题 值2:邮件主人 值3:发件人 值4:收件人 值5:如果失败,是否抛出错误 if res == 1: return HttpResponse('邮件发送成功') else: return HttpResponse('邮件发送失败')
3、多封给多个人进行发送
message1 = ('这个周日你有空吗', '孔子东游见两小儿便日', 'qiqi1931@163.com', ['891811395@qq.com', '819614513@qq.com']) message2 = ('这个周 日你有空吗?', '孔子东游,见两小儿,便日', 'qiqi1931@163.com', ['891811395@qq.com', '1311173658@qq.com']) res = send_mass_email((message1, message2)) if res == 2: return HttpResponse('多封邮件发送成功') else: return HttpResponse('多封邮件发送失败')
4、进阶使用,多线程异步发送
- utils添加sendEmail.py文件
import threading from django.core.mail import send_mail from django.conf import settings class SendMail(threading.Thread): def __init__(self,subject,text,email,fail_silently=False): self.subject = subject self.text = text self.email = email self.fail_silently = fail_silently threading.Thread.__init__(self) def run(self): send_mail( self.subject, self.text, settings.EMAIL_HOST_USER, [self.email], fail_silently=self.fail_silently )
- 调用方法
send_mail = SendMail(subject,text,email) send_mail.start()
相关文章
- Django之视图函数总结
- 第三百八十五节,Django+Xadmin打造上线标准的在线教育平台—登录功能实现,回填数据以及错误提示html
- 三个在线django速成教程(转)
- Django管理工具django-admin.py创建项目
- DJANGO和UIKIT结合,作一个有进度条的无刷新上传功能
- Django源码分析之执行入口
- Django创建应用一
- 基于django的自定义简单session功能
- [Django] Start a new django project
- django-vue-admin前端设置后台接口地址为127.0.0.1产生跨域问题解决办法
- Python Django 使用cookie实现三天免登录及记住密码功能代码示例
- django3.0入门教程【一】:创建django和环境搭建
- Django 之 序列化
- Django 之Form组件
- django中限流Throttling
- Django中提供了6种缓存方式
- Django小项目+源码+详解