| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> 30.django发送邮件 -> 正文阅读 |
|
[Python知识库]30.django发送邮件 |
目录 发送邮件是网站的常见功能,比如需要邮箱验证登录状态的时候需要发送邮件,密码找回的时候需要发送邮件等等 1??协议介绍1.1??SMTP协议SMTP协议是推送(从服务端到客户端)协议,SMTM的全称是Simple Main Transfer Protocol(简单邮件传输协议),这个协议的服务一般在25号端口 1.2??IMAPIMAP协议是拉取(从客户端到服务端)协议,比如你打开你的邮箱查看里面都有什么邮件,这个过程就是拉取。IMAP全称为Internet Mail Access Protocol(交互式邮件访问协议)。IMAP属于应用层协议,端口为143
1.3??POP3POP3协议属于拉取协议。全称为Post Office Protocol 3(邮局协议的第三个版本),是TCP/IP协议族中的一员,端口为110 1.4??IMAP与POP3的区别两者均为拉取型协议,区别如下
2??在Django使用Django主要实现发邮件的功能,实现的流程是这样的 1.给Django授权一个邮箱 2.Django用该邮箱给对应收件人发送邮件 在django.core.mail封装了电子邮件自动发送的SMTP协议 2.1??开通邮箱SMTP服务我们以qq邮箱为例,其余邮箱的设置方法也类似 点击账户 往下滚可以看到各种服务,django主要实现服务端给客户端发邮件,所以只要选一个带SMTP服务的就可以了,我开启的是POP3/SMTP服务 验证后会得到一个16位的授权码 2.2??配置settings.py含义依次是
2.3??前端一般来讲会有给用户写自己邮箱的页面,我们简单搞一下,文件名为send_email.html
2.4??视图subject是题目。message是内容。from_email是用谁发。recipient_list是发给谁,recipent_list是一个列表,可以发给多人。一般很少在服务端进行群发,也很少让用户自己写题目和消息内容 2.5??路由2.6??使用访问路由后写一个邮箱(可以发给自己),然后点击发送 之后会显示发送成功 打开邮箱后可以看到刚刚发送的邮件 3??应用3.1??将网站的错误发送给工作人员我们使用中间进行捕获错误,然后把错误信息发到工作人员的邮箱,以便后续对这些错误进行修改 我们定义一个中间件专门来做这个事情 然后在settings.py中注册这个中间件 一般我们不使用exception来获取错误信息,因为exception的错误信息太少,一般使用python内建的traceback的format_exc()方法,下面是两种报错信息的比较 发现一个异常后会自动发到邮箱 收件人一般会有多个邮箱,如果这多个邮箱有多次复用的地方,可以在settings.py中定义一个列表变量,然后from django.conf import settings,之后settings.列表变量名。进行复用 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/26 3:46:19- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |