今天记录一下如何使用python收发邮件,知识要点在python内置的poplib和stmplib模块的使用上。
1. 准备工作
首先,我们需要有一个测试邮箱,我们使用新浪邮箱,而且要进行如下设置:
在新浪邮箱首页的右上角找到设置->更多设置,然后在左边选择“客户端/pop/imap/smtp”:
最后,将Pop3/smtp服务的服务状态打开即可:
2. poplib接收邮件
首先,介绍一下poplib登录邮箱和下载邮件的一些接口:
self.popHost = 'pop.sina.com'
self.smtpHost = 'smtp.sina.com'
self.port = 25
self.userName = 'xxxxxx@sina.com'
self.passWord = 'xxxxxx'
self.bossMail = 'xxxxxx@qq.com'
我们需要如上一些常量,用于指定登录邮箱以及pop,smtp服务器及端口。我们调用poplib的POP3_SSL接口可以登录到邮箱。
# 登录邮箱
def login(self):
try:
self.mailLink = poplib.POP3_SSL(self.popHost)
self.mailLink.set_debuglevel(0)
self.mailLink.user(self.userName)
self.mailLink.pass_(self.passWord)
self.mailLink.list()
print u'login success!'
except Exception as e:
print u'login fail! ' + str(e)
quit()
在登录邮箱的时候,很自然,我们需要提供用户名和密码,如上述代码所示,使用非常简单。
登录邮箱成功后,我们可以使用list方法获取邮箱的邮件信息。我们看到list方法的定义: