加入收藏 | 设为首页 | 会员中心 | 我要投稿 济南站长网 (https://www.0531zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

Python 收发Email的达成

发布时间:2021-11-25 20:32:55 所属栏目:教程 来源:互联网
导读:关于Email的基础知识就不说,直接进入Python主题。 一 发送Email 简单邮件传输协议(SMTP)大家应该都很熟悉了,在python中也有一个smtplib的模块来实现发送邮件的功能,一般的过程是: 1 连接到邮件服务器 2 登陆(如果需要的话) 3 发出服务请求(比如发送
关于Email的基础知识就不说,直接进入Python主题。
 
一 发送Email
 
简单邮件传输协议(SMTP)大家应该都很熟悉了,在python中也有一个smtplib的模块来实现发送邮件的功能,一般的过程是:
 
1 连接到邮件服务器
 
2 登陆(如果需要的话)
 
3 发出服务请求(比如发送)
 
4 退出
 
在SMTP中我们主要用到的方法是:
 
sendmail(from,to,msg[,mopts,ropts])   是把msg从from发给to,ESMTP设置(mopts)和收件人设置(ropts)可选
 
quit() 关闭连接
 
login(user,passwd) 使用user用户和密码登陆到SMTP服务器。
 
下面举个应用的实例:(密码我隐藏了,(*^__^*) )
 
Python 收发Email的实现
这里是用我的163邮箱给我的QQ邮箱发了一个邮件,邮件的内容就是在msgbody中的字符。
 
运行,几秒钟后我就收到了。
 
Python 收发Email的实现
如果我们想更简单的写,三句话就行。
 
Smtplib.SMTP( )
 
Login( )
 
Sendmail( )
 
只要写对了参数,上面三个就可以了。
 
二,接收Email
 
接收常用的协议是“邮局协议(POP)”和“交互式邮件访问协议(IMAP)”。这里我们用POP3作为例子。
 
在python中有poplib模块。接收邮件的步骤是:
 
1 连接服务器
 
2 登陆
 
3 发出服务请求
 
4 退出
 
poplib中常用的方法有:
 
user(login)发送用户名login到服务器
 
pass(passwd)发送密码。
 
stat()返回邮件的状态。一个长度为2的元组(msg_ct,mbox_siz),消息的数量和消息的总大小
 
list([msgnum])  stat()的扩展,从服务器返回长度为3的元组(rsp,msg_list,rsp_siz):服务器返回信息,消息列表,返回信息的大小。
 
retr(msgnum)从服务器中得到消息msgnum,并设置其已读标志。返回一个长度为3的元组(rsp,msglines,msgsiz):服务器返回信息,消息msgnum的所有行,消息字节数
 
dele(msgnum) 把消息msgnum标记为删除。
 
quit() 登出。
 
下面看例子,我们就去接受刚才我们发送的邮件。
 
Python 收发Email的实现
由于我的python shell没有装中文支持,所以在命令行无法输出中文字符。但是结果是正确,验证的方法有很多,最近的是可以对照当时发送的时候,shell的输出信息。
 
上面两个例子简单实现了收发邮件的功能。其实我们可以根据这个然后加上GUI的应用,自己编写一个邮件客户端软件,像Foxmail一样的,当然我们不能做到那么强大,但是简单的收发功能还是可以实现的,有兴趣的可以试一下。
 
 

(编辑:济南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读