位置: 编程技术 - 正文

Python使用poplib模块和smtplib模块收发电子邮件的教程(python popt)

编辑:rootadmin

推荐整理分享Python使用poplib模块和smtplib模块收发电子邮件的教程(python popt),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python pop remove,python 中pop,python pop remove,python里面pop,python pop remove,python popt,python pop popitem,python poplib,内容如对您有帮助,希望把文章链接给更多的朋友!

poplib模块接收邮件python的poplib模块是用来从pop3收取邮件的,也可以说它是处理邮件的第一步。POP3协议并不复杂,它也是采用的一问一答式的方式,你向服务器发送一个命令,服务器必然会回复一个信息。pop3命令码如下:

 

python的poplib也针对这些命令分别提供了对应的方法,上面在第二列里已经标出来。收取邮件的过程一般是:1. 连接pop3服务器 (poplib.POP3.__init__)2. 发送用户名和密码进行验证 (poplib.POP3.user poplib.POP3.pass_)3. 获取邮箱中信件信息 (poplib.POP3.stat)4. 收取邮件 (poplib.POP3.retr)5. 删除邮件 (poplib.POP3.dele)6. 退出 (poplib.POP3.quit)注意的是,上面我在括号里写的是使用什么方法来完成这个操作,在实际的代码中不能那样写,应该是创建poplib.POP3的对象,然后,调用这个对象的方法。比如:

应该理解为

下面看看实际的代码:

在有些地方,有安全邮件这一说,其实是对pop3做了ssl加密。这样的,poplib一样可以处理,只不过不是用POP3这个类,而是用POP3_SSL, 他们的方法都一样。因此支持ssl在上面代码中,替换创建pop3对象的一行为:

Python使用poplib模块和smtplib模块收发电子邮件的教程(python popt)

smtplib: 用python发送SSL/TLS安全邮件python的smtplib提供了一种很方便的途径发送电子邮件。它对smtp协议进行了简单的封装。smtp协议的基本命令包括:

HELO 向服务器标识用户身份 MAIL 初始化邮件传输 mail from: RCPT 标识单个的邮件接收人;常在MAIL命令后面,可有多个rcpt to: DATA 在单个或多个RCPT命令后,表示所有的邮件接收人已标识,并初始化数据传输,以.结束 VRFY 用于验证指定的用户/邮箱是否存在;由于安全方面的原因,服务器常禁止此命令 EXPN 验证给定的邮箱列表是否存在,扩充邮箱列表,也常被禁用 HELP 查询服务器支持什么命令 NOOP 无操作,服务器应响应OK QUIT 结束会话 RSET 重置会话,当前传输被取消 MAIL FROM 指定发送者地址 RCPT TO 指明的接收者地址

一般smtp会话有两种方式,一种是邮件直接投递,就是说,比如你要发邮件?zzz@.com,那就直接连接.com的邮件服务器,把信投?zzz@.com; 另一种是验证过后的发信,它的过程是,比如你要发邮件?zzz@.com,你不是直接投到.com,而是通过自己在sina.com的另一个邮箱来发。这样就要先连接sina.com的smtp服务器,然后认证,之后在把要发到.com的信件投到sina.com上,sina.com会帮你把信投递到.com。

第一种方式的命令流程基本是这样: 1. helo 2. mail from 3. rcpt to 4. data 5. quit 但是第一种发送方式一般有限制的,就是rcpt to指定的这个邮件接收者必须在这个服务器上存在,否则是不会接收的。 先看看代码:

注意的是,.com是有反垃圾邮件功能的,想上面的这种投递邮件的方法不一定能通过反垃圾邮件系统的检测的。所以一般不推荐个人这样发送。 第二种有点不一样: 1.ehlo 2.auth login 3.mail from 4.rcpt to 5.data 6.quit 相对于第一种来说,多了一个认证过程,就是auth login这个过程。

上面说的是最普通的情况,但是不能忽略的是现在好多企业邮件是支持安全邮件的,就是通过SSL发送的邮件,这个怎么发呢?SMTP对SSL安全邮件的支持有两种方案,一种老的是专门开启一个端口来接收ssl邮件,另一种更新的做法是在标准的端口的smtp上增加一个starttls的命令来支持。 看看第一种怎么办:

这里我是从原来的smtplib.SMTP派生出了新的SMTP_SSL类,它专门来处理ssl连接。我这里测试的..2.是我自己的测试服务器. 第二种是新增加了starttls的命令,这个很简单,smtplib里就有这个方法,叫smtplib.starttls()。当然,不是所有的邮件系统都支持安全邮件的,这个需要从ehlo的返回值里来确认,如果里面有starttls,才表示支持。相对于发送普通邮件的第二种方法来说,只需要新增加一行代码就可以了:

注意: 以上的代码为了方便我都没有判断返回值,严格说来,是应该判断一下返回的代码的,在smtp协议中,只有返回代码是2xx或者3xx才能继续下一步,返回4xx或5xx的,都是出错了。

搭建Python的Django框架环境并建立和运行第一个App的教程 Django是python中目前风靡的WebFramework,那么什么叫做Framework呢,框架能够帮助你把程序的整体架构搭建好,而我们所需要做的工作就是填写逻辑,而框架能够在

Python的爬虫程序编写框架Scrapy入门学习教程 1.Scrapy简介Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。

Ruby元编程基础学习笔记整理 笔记一:代码中包含变量,类和方法,统称为语言构建(languageconstruct)。#test.rbclassGreetingdefinitialize(text)@text=textenddefwelcome@textendendmy_obj=Greeting.new("hello")puts

标签: python popt

本文链接地址:https://www.jiuchutong.com/biancheng/387029.html 转载请保留说明!

上一篇:python图片验证码生成代码(python图片验证码输入错误不能点登陆)

下一篇:搭建Python的Django框架环境并建立和运行第一个App的教程(如何搭建python项目架构)

  • 小规模30万免增值税1点怎么申报税款
  • 房地产中介门头
  • 事业单位无形资产摊销年限
  • 实习生个人所得税需要申报吗
  • 开票资料需要哪些内容
  • 小规模一直零申报也要工商申报吗?
  • 实收资本记账凭证摘要怎么写
  • 金税盘技术维护费账务处理
  • 公司采购报销没发票
  • 增值税发票认证是什么意思
  • 库存商品的成本核算
  • 代扣代缴的增值税怎么做账
  • 其他应付款冲销怎么做
  • 工业企业购买电机会计分录
  • 晚会主持人化妆
  • 个人抬头的通讯费可以做费用吗
  • 未足额代扣代缴车船税
  • 主营业务税金及附加包括印花税吗
  • 存货暂估入账的分录
  • 财税2010121号文件解读
  • 债券折价摊销属于借款费用吗
  • 非营利组织免税资格可以免些什么税
  • 研发部门的办公费属于研发费的哪个类别
  • 小规模公司税控盘维护费会计分录
  • 出口业务类型怎么写
  • 收境外的钱
  • 企业季度所得税可以弥补以前年度亏损吗
  • 购买车辆保险怎么入账
  • 钱已确定收不回怎么办
  • 公司向法人借款会计分录
  • icon files
  • 油费餐费入什么科目
  • PHP:Memcached::replace()的用法_Memcached类
  • 开出发票单位收到款项如何平账?
  • 职工重大疾病保险包括哪些
  • php text
  • PHP:pcntl_signal_dispatch()的用法_PCNTL函数
  • PHP:imagetruecolortopalette()的用法_GD库图像处理函数
  • 商品零售企业一般具有什么特征
  • 变动成本产品成本包括哪些
  • 企业年金如何缴纳计算方法
  • 工程施工下的间接费用下有什么科目
  • vue3 element-plus
  • php preg_match
  • 前端页面设计
  • lua命令库
  • thinkphp import
  • python可以制作软件吗
  • WP Smart Preloader 为你的WordPress添加预加载动画
  • 增值税专用发票的税率是多少啊
  • mysql数据库死锁产生的原因及解决方案
  • 固定资产科目的期末余额,反映固定资产的原价
  • 借贷记账法的记账依据是什么
  • 分期付款购入固定资产该如何做账务处理呢?
  • 股权转让是否需要全体股东签字
  • 银行承兑汇票怎么开
  • 三项费用合计包括哪些
  • 去国外参加展会办什么签证
  • 不抵扣的进项发票需要在电子税务局操作么
  • 无偿赠送的货物如何申报增值税
  • 现金存银行凭证
  • 预计负债可以获取利润吗
  • 案例分析以前年龄的变化
  • 领用材料属于什么会计分录
  • 账簿设计要以()为前提
  • sql语句汇总数据
  • w10专业版最新版本
  • 两种方法解决一年级看图问题
  • msoobe.exe是什么
  • linux ps-l
  • win7系统自动重启日志
  • mysql服务器的安装与配置
  • css全局声明
  • xcopy命令怎么用
  • python 设计
  • javascript入门书
  • python爬取新浪股票数据
  • 上海社保转出后查不到记录
  • 发票怎样上传?
  • 合伙企业取得的专利权属于合伙企业财产吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设