Django发送邮件
业务告警
邮件验证
密码找回
一、邮件相关协议
SMTP协议
SMTP的全称是”Simple Mail Transtfer Protocol”, 即简单邮件传输协议(25号端口) 。
它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转
属于“推送”协议
IMAP协议
IMAP全称是Internet Mail Access Protocol,艮即交互式邮件访问协议,是一个应用层协议(端口是143)。
用来从本地邮件客户端(Outlook Express、Foxmail、MozillaThunderbird等)访问远程服务器,上的邮件。
属于“拉取”协议
POP3协议
POP3是Post Office Protocol 3的简称, 即邮局协议的第3个版本,是TCP/IP协议族中的一员 (默认端口是110)。
本协议主要用于支持使用客户端远程管理在服务器,上的电子邮件
属于“拉取”协议
IMAP VS POP3
两者均为“拉取型协议,负责从邮件服务器中下载邮件
IMAP具备摘要浏览功能,可预览部分摘要,再下载整个邮件
IMAP为双向协议,客户端操作可反馈给服务器
POP3必须下载全部邮件,无摘要功能
POP3为单向协议,客户端操作无法同步服务器
二、利用Django发邮件
Django发邮件Django中配置邮件功能,主要为SMTP协议,负责发邮件
原理:
给Django授权一个邮箱
Django用该邮箱给对应收件人发送邮件
django.core.mail封装了电子邮件的自动发送SMTP协议
授权步骤–以QQ邮箱为例
申请QQ号
用QQ号登录QQ邮箱并修改配置
用申请到的QQ号登录 https://mail.qq.com/
修改’QQ邮箱->-设置>账户>‘POP3/IMAP’服务’
申请成功会有一个授权码一定要记住,不外泄!!!!
setting.py配置
EMAIL_BACKEND= ‘django. core.mail.backends.smtp.EmailBackend’
EMAIL HOST=’smtp.qq. com’#腾讯QQ邮箱SMTP服务器地址
EMAIL PORT=25#SMTP服务的端口号
EMAIL_HOST_USER=XX@qq.com#发送邮件的QQ邮箱
EMAIL HOST PASSWORD=**’#在QQ邮箱->设置->帐户 >”POP3MAP.…服务”里得到的在第三方登录QQ邮箱授权码
EMAIL USE_TLS= False#与SMTP服务器通信时,是否启动TLS链接 安全链接)默认False–https协议费时的,也可以删了
函数调用
from django.core import mail
mail.send_mail(
subject, #题目
message, #消息内容
from_email, #发送者[当前配置邮箱]
recipient_1ist=['xxx@eqq.com'], #接收者邮件列表
)
Comments NOTHING