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解析邮件的具体内容

原文地址:https://www.cnblogs.com/Jokei/p/10029049.html

时间: 2024-11-02 18:58:13

Python之Mail编程的相关文章

Python 3 并发编程多进程之队列(推荐使用)

Python 3 并发编程多进程之队列(推荐使用) 进程彼此之间互相隔离,要实现进程间通信(IPC),multiprocessing模块支持两种形式:队列和管道,这两种方式都是使用消息传递的. 可以往队列里放任意类型的数据 创建队列的类(底层就是以管道和锁定的方式实现): 1 Queue([maxsize]):创建共享的进程队列,Queue是多进程安全的队列,可以使用Queue实现多进程之间的数据传递. 参数介绍: 1 maxsize是队列中允许最大项数,省略则无大小限制. 方法介绍: 1.主要

Python黑帽编程 3.4 跨越VLAN

Python黑帽编程 3.4 跨域VLAN VLAN(Virtual Local Area Network),是基于以太网交互技术构建的虚拟网络,既可以将同一物理网络划分成多个VALN,也可以跨越物理网络障碍,将不同子网中的用户划到同一个VLAN中.图2是一个VLAN划分的例子. 图2 实现VLAN的方式有很多种,基于交换设备的VLAN划分,一般有两种: l  基于交换机的端口划分 l  基于IEEE 802.1q协议,扩展以太网帧格式 基于第二层的VLAN技术,有个Trunking的概念,Tr

Python运维编程

Python运维编程 作者:Danbo  2015-10-11 什么是Python,为什么要使用Python? 这个大家自行谷歌,不过看看知乎你就知道Python有多么强大:http://www.zhihu.com/question/25038841  #大蟒蛇是人形自走跑有木有啊! 首先你要知道Python很强大.Python是一个胶水语言(Glue Language).与Perl最大的不同是Python开发的哲学是:用一种方法,最好是只有一种方法来做一件事,而Perl是:总是有多种方法来做同

python 入门 - 函数式编程

函数式编程的一个特点就是,允许把函数本身作为参数传入另一个函数,还允许返回一个函数 http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001386819196283586a37629844456ca7e5a7faa9b94ee8000     函数 定义函数 def my_abs(x): if x >= 0: return x else: return -x result =my_

Python 3 并发编程多进程之进程同步(锁)

Python 3 并发编程多进程之进程同步(锁) 进程之间数据不共享,但是共享同一套文件系统,所以访问同一个文件,或同一个打印终端,是没有问题的,竞争带来的结果就是错乱,如何控制,就是加锁处理. 1.多个进程共享同一打印终端 from multiprocessing import Process import os,time def work(): print('%s is running' %os.getpid()) time.sleep(2) print('%s is done' %os.g

Python 3 socket编程

Python 3 socket编程 一 客户端/服务器架构 互联网中处处是C/S架构 1.C/S结构,即Client/Server(客户端/服务器)结构 2.在互联网中处处可见c/s架构 比如说浏览器,在线视频,各种社交软件. C/S架构与socket的关系: 我们学习socket就是为了c/s架构的开发 学习socket一定要先学习互联网协议: 1.如何基于socket编程,来开发一款自己的C/S架构软件 2..C/S架构的软件(软件属于应用层)是基于网络进行通信的 3.网络的核心即一堆协议,

Python黑帽编程 3.1 ARP欺骗

Python灰帽编程 3.1 ARP欺骗 ARP欺骗是一种在局域网中常用的攻击手段,目的是让局域网中指定的(或全部)的目标机器的数据包都通过攻击者主机进行转发,是实现中间人攻击的常用手段,从而实现数据监听.篡改.重放.钓鱼等攻击方式. 在进行ARP欺骗的编码实验之前,我们有必要了解下ARP和ARP欺骗的原理. 3.1.1 ARP和ARP欺骗原理 ARP是地址转换协议(Address Resolution Protocol)的英文缩写,它是一个链路层协议,工作在OSI 模型的第二层,在本层和硬件接

Python黑帽编程2.1 Python编程哲学

Python黑帽编程2.1  Python编程哲学 本节的内容有些趣味性,涉及到很多人为什么会选择Python,为什么会喜欢这门语言.我带大家膜拜下Python作者的Python之禅,然后再来了解下Python的编程规范. 2.1.1 ZEND OF PYTHON 在Kali中启动终端,输入Python,进入交互模式. 图2 输入命令 import this “一首诗”呈现在我们眼前. 图3 内容如下: Beautiful is better than ugly.       优美胜于丑陋 Ex

Python黑帽编程2.7 异常处理

Python黑帽编程2.7 异常处理 异常是个很宽泛的概念,如果程序没有按预想的执行,都可以说是异常了.遇到一些特殊情况没处理会引发异常,比如读文件的时候文件不存在,网络连接超时.程序本身的错误也可以算作异常,比如把字符串当整数来处理,拼写错误. 不论是系统还是框架,都会对基本异常进行分类,比如IO异常,内存溢出等等.很多时候,针对特有的业务,我们也可以自定异常. 下面我们先看一个引发异常的例子: Print 'hello' 这个例子很简单,我们将print的首字母大写.这会引发一个错误: 图2