python下读取邮件列表,并过滤邮件,然后调用网页发短信


#!/usr/bin/python
#coding=utf8
import poplib
import email
import cPickle as pickle
from email.Header import decode_header
import urllib

def getMails(keymap={},userinfo=[]):
emailServer = poplib.POP3('mail.domain.com')
emailServer.user(userinfo[0])
emailServer.pass_(userinfo[1])
mailinfo=[]
# 遍历邮件
for i in range(emailMsgNum):
message=emailServer.retr(i+1)[1]
mail=email.message_from_string('\n'.join(message))
if mail['from'].find('chinamobile.com')>-1 or mail['from'].find('139.com')>-1:
frommail=decode_header(mail['from'])[0][0]
if frommail.find('.com'):
posstart=frommail.find('<')
posend=frommail.find('>')
if posstart>-1 and posend>-1:
frommail=frommail[posstart+1:posend]
if not keymap.has_key(mail['received']):
keymap[mail['received']]=frommail
mailinfo.append((frommail,decode_header(mail['subject'])[0][0]))
emailServer.quit()
return mailinfo


if __name__ == "__main__":
userinfo=[('username@domain.com','passwd')]
noticeurls='http://********/sms.jsp'
ff=file("/home/myhome/python-src/mapsinfo")
allmap=pickle.load(ff)

map=allmap[userinfo[0]]
content=getMails(keymap=map,userinfo=userinfo[0])
allmap[userinfo[0]]=map

f=file("/home/myhome/python-src/mapsinfo","w")
pickle.dump(allmap,f)

for c,d in content:
params = urllib.urlencode({'tel': phoneno(手机号), 'content': "from:"+c+"::"+d})
#urlencode很重要,在linux下需要先encode才能正确处理中文,不能直接拼url串
data = urllib.urlopen(noticeurls,params).read()
#print data
print 'over'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值