smtplib与poplib分别是python对SMTP与POP3的客户端实现,利用这两个模块很容易实现一个简单的邮件客户端。先奉上两个简单的例子:
smtp传输邮件:
from smtplib import SMTP
s=SMTP()
s.connect('smtp.126.com')
s.docmd('helo','yourname')
s.login('yourname','password')
msg='''From:yourname@126.com\r\nTo:
yourname@126.com\r\nSubject:test msg\r\n
\r\njust for test\r\n.'''
s.sendmail('yourname@126.com','yourname@126.com',msg)
s.quit()
pop接收邮件:
#coding:utf-8
from poplib import POP3
p=POP3('pop.126.com')
p.user('yourname')
p.pass_('password')
p.stat()
rsp,msg,siz=p.retr(msgnum)#msgnum指的是邮件编号
for eachline in msg:
print eachline
以上的两个例子仅仅适用于无附件的情况下。
SMTP类的方法:
SMTP.connect(hostname):链接邮件服务器,hostname为服务器的地址
SMTP.docmd(cmd):是传递命令给服务器
SMTP.login('用户','密码'):用于登陆命令
SMTP.sendmail(fromaddr,toaddr,msg):发送邮件,其中,发送的消息体有特定的格式:From:...\r\nTo:...\r\nSubject:..\r\n\r\n....\r\n;消息的内容以\r\n为前导头
SMTP.quit():关闭链接
POP3类的方法:
POP3.POP3(hostname):连接服务器
POP3.user(yourname);POP3.pass_(Password):用户登陆
POP3.stat():返回邮件数量及总大小
POP3.retr(msgnum):返回服务器的应答信息,邮件的所有行,邮件的大小
POP3.dele(msgnum):删除邮件
POP3.quit():关闭连接
更详细的内容,请参阅Python的相关模块