赞
踩
利用python处理自动处理邮件和短信,使用smtplib与imap模块
- import smtplib,imap
- smt_obj=smtplib.SMTP('',587)#连接邮件服务器,输入服务器域名,587为常用连接端口TLS连接
- smt_obj=smtplib.SMTP_SSL('',465)#ssl连接
- smt_obj.ehlo()#向邮件服务器打招呼,返回一个元组,元组第一项250时,问候成功
- smt_obj.starttls()#加密连接,成功返回220,加密成功
- smt_obj.login('','')#登录邮箱,输入账户密码
- #发送邮件,参数1:发件地址,参数2:收件人地址或地址列表,参数3:邮件正文,需以'Subject.\n'开始,作为邮件的主题行
- smt_obj.sendmail('','','')
- smt_obj.quit()#与SMTP服务器断开
- import imapclient,imaplib
- #创建邮件服务器对象,输入邮件服务器地址,ssl=True,开启加密传输
- imap_obj=imapclient.IMAPclient('',ssl=True)
- imap_obj.login('','')#登录邮箱,输入账户和密码
- imap_obj.list_folder()#以元组列表形式返回邮件文件夹列表
- imap_obj.select_folder('',readonly=True)#输入要搜索的邮件文件夹,搜索特定类型的邮件,readonly=True:标志只读邮件
- UIDS=imap_obj.search([''])#搜索匹配输入条件的邮件ID列表
- imaplib._MAXLINE=10000#修改搜索匹配邮件大小限制
- rawMessages=imap_obj.fetch(UIDS,['BODY[]'])#读取邮件正文内容,['BODY[]']标志正文内容
- import pyzmail
- #创建邮件解析对象
- message=pyzmail.PyzMessage.factory(rawMessages[40041],['BODYI'])
- message.get_subject()#获取邮件主题
- #获取邮件地址,from:发件人地址,to:收件人地址,cl:抄送人地址,bu:密送人地址
- message.get_adresses('from')
- message.text_part#如果邮件只是HTML,则text_part属性=None
- message.html_part#如果邮件为纯文本,则html_part属性=None
- #解析邮件文本内容,在text_part.chartset属性中
- message.text_part.get_pyload().decode(message,text_part.chartset)
- #解析邮件HTML内容,在html_part.chartset属性中
- message.html_part.get_pyload().decode(message,html_part.chartset)
- imap_obj.delete_messages(UIDS)#传传入邮件ID,为其加上\Deleted标志
- imap_obj.expange()#删除带有Deleted标志的邮件
- imap_obj.logout()#与IMAP服务器断开联系
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。