Python之Mail编程
# Mail编程
- 管理程序
- Euroda使邮件普及
- Netscape,outlook,forxmail后来居上
- Hotmail使用浏览器发送邮件 ## 邮件工作流程
- MUA邮件用户代理
- MTA邮件代理传输
- MDA邮件投递代理
-编写程序
- 发送:MUA->MTA with SMTP: simpleMailTransferprotocal,包含MTA->MTA
- 接收:MDA->MUA with POP3 and IMAP: PostOfficePerotocal v3 and internetMessageAccessProtocal v4
- 准备工作
- 注册邮箱
- 第三方邮件需要特殊设置
- 进入设置中心
- 取得授权码 - Python for mail
- SMTP协议负责发送邮件
- 使用email模块构建邮件
- 纯文本邮件
- 案例mail
- Html格式邮件发送
- 准备HTML代码作为内容
- 把邮件的subtype设为html
- 发送
- 案例htmlmail
- 发送带附件的邮件
- 一封信如果涉及多个部分,需要使用MIMEMultipart格式创建
- 添加一个MIMEText正文
- 添加一个MIMEBase或者MIMEText作为附件
- 案例附件mail
- 添加邮件头,抄送等信息
- mail["From"] 表示发送着信息,包括姓名和邮件
- mail["To"] 表示接收者信息,包括姓名和邮件地址
- mail["Subject"] 表示摘要或者主题信息
- 案例mail主题
- 同时支持html和text格式
- 构建一个MIMEMultipart格式邮件
- MIMEMultipart的subtype设置成alternative格式
- 添加HTML和text邮件
- 案例HTML和text邮件
- 使用smtplib模块发送邮件 - POP3协议接收邮件
- 本质上是MDA到MUA的一个过程
- 从MDA下载下来的是一个完整的邮件结构体,需要解析才能得到每个具体可读的内容
- 步骤:
1. 用poplib下载邮件结构体原始内容
1. 准备相应的内容(邮件地址,密码,POP3实例)
2. 身份认证
3. 一般会先得到邮箱内邮件的整体列表
4. 根据相应序号,得到某一封信数据流
5. 利用解析函数进行解析出相应的邮件结构体
2. 用email解析邮件的具体内容
Python之Mail编程的更多相关文章
- Python 黑帽编程大纲(变化中)
Python 黑帽编程大纲(预览版) 教程说明: 本系列教程,采用的大纲母本为<Understanding Network Hacks Attack and Defense with Pytho ...
- Python黑帽编程 3.4 跨越VLAN
Python黑帽编程 3.4 跨域VLAN VLAN(Virtual Local Area Network),是基于以太网交互技术构建的虚拟网络,既可以将同一物理网络划分成多个VALN,也可以跨越物理 ...
- Python黑帽编程1.1虚拟机安装和配置 Kali Linux 2016
Python黑帽编程1.1虚拟机安装和配置 Kali Linux 2016 0.1 本系列教程说明 本系列教程,采用的大纲母本为<Understanding Network Hacks Att ...
- Python黑帽编程1.2 基于VS Code构建Python开发环境
Python黑帽编程1.2 基于VS Code构建Python开发环境 0.1 本系列教程说明 本系列教程,采用的大纲母本为<Understanding Network Hacks Atta ...
- Python黑帽编程1.3 Python运行时与包管理工具
Python黑帽编程1.3 Python运行时与包管理工具 0.1 本系列教程说明 本系列教程,采用的大纲母本为<Understanding Network Hacks Attack and ...
- PYTHON黑帽编程1.5 使用WIRESHARK练习网络协议分析
Python黑帽编程1.5 使用Wireshark练习网络协议分析 1.5.0.1 本系列教程说明 本系列教程,采用的大纲母本为<Understanding Network Hacks At ...
- Python黑帽编程 2.0 第二章概述
Python黑帽编程 2.0 第二章概述 于 20世纪80年代末,Guido van Rossum发明了Python,初衷据说是为了打发圣诞节的无趣,1991年首次发布,是ABC语言的继承,同时也是一 ...
- Python黑帽编程2.1 Python编程哲学
Python黑帽编程2.1 Python编程哲学 本节的内容有些趣味性,涉及到很多人为什么会选择Python,为什么会喜欢这门语言.我带大家膜拜下Python作者的Python之禅,然后再来了解下P ...
- Python黑帽编程2.2 数值类型
Python黑帽编程2.2 数值类型 数值类型,说白了就是处理各种各样的数字,Python中的数值类型包括整型.长整型.布尔.双精度浮点.十进制浮点和复数,这些类型在很多方面与传统的C类型有很大的区 ...
随机推荐
- 【MVC框架】——什么是MVC框架
学习了经典三层之后,认为不论什么一种框架都不再是难的.不管如何,都须要连接数据库.业务逻辑处理.显示.其余的无非就是给三层解耦合.解耦合越到位,这个框架就越easy被接受. 百度百科:MVC全名是Mo ...
- 学习Mockito - Mockito对Annotation的支持
学习Mockito - Mockito对Annotation的支持 博客分类: test junit工作 Mockito支持对变量进行注解,例如将mock对象设为测试类的属性,然后通过注解的方式@M ...
- Unity 使用C/C++ 跨平台终极解决方式(PC,iOS,Android,以及支持C/C++的平台)
PC的事实上根本不用说,毕竟C#和C++交互的文章已经够多了,当然我自觉得经过几次折腾后.差点儿全部游戏须要到的操作我都掌握了(各种传參方法,各种坑,不懂的能够留言问.尽管基本上没人看.哈哈) 废话不 ...
- 记忆化搜索 hdu 1331
Function Run Fun Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- iWatch报错: Authorization request cancled
iWatch报错: Optional (Error Domin = com.apple.healthkit Code = 5 "Autherization request canceled& ...
- 计算工作日之后N天的日期
1.假期实体类: package com.smics.date; import java.io.Serializable; import java.util.Date; public class Va ...
- [HDU 4261] Estimation
[题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=4261 [算法] 首先,有一个结论 : | a[1] - k | + | a[2] - k | + ...
- 【HAOI 2008】 移动玩具
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1054 [算法] 广度优先搜索 [代码] #include<bits/stdc+ ...
- js设计模式-享元模式
享元模式实际上是一种优化模式,目的在于提高系统的性能和代码的效率. 使用享元模式的条件:最重要的条件是网页中必须使用了大量资源密集型对象,如果只会用到了少许这类对象,那么这种优化并不划算.第二个条件是 ...
- Xcode7.3 使用NSURLSession发送HTTP请求报错
控制台打印:Application Transport Security has blocked a cleartext HTTP (http://) resource load since it i ...