Python处理电子邮件
Python处理电子邮件
如果你有大量邮箱要批量处理他们的邮件 如果有手工处理一定会很慢
下面用python提供的邮件库处理,
通过这个库可以方便的发送和接收电子邮件 代码很短
直接上代码
发送代码
- #!/usr/bin/env python
- # -*- coding: gbk -*-
- #导入smtplib和MIMEText
- import smtplib
- from email.mime.text import MIMEText
- #############
- #要发给谁,这里发给2个人
- mailto_list=["aaa@qq.com","123456789@qq.com"]
- #####################
- #设置服务器,用户名、口令以及邮箱的后缀
- mail_host="smtp.qq.com"
- mail_user="your qq"
- mail_pass="password"
- mail_postfix="qq.com"
- ######################
- def send_mail(to_list,sub,content):
- '''''
- to_list:发给谁
- sub:主题
- content:内容
- send_mail("aaa@126.com","sub","content")
- '''
- me=mail_user+"<"+mail_user+"@"+mail_postfix+">"
- msg = MIMEText(content)
- msg['Subject'] = sub #设置主题
- msg['From'] = me #发件人
- msg['To'] = ";".join(to_list) #收件人
- try:
- s = smtplib.SMTP()
- s.connect(mail_host)
- s.login(mail_user,mail_pass)
- s.sendmail(me, to_list, msg.as_string())
- s.close()
- return True
- except Exception, e:
- print str(e)
- return False
- if __name__ == '__main__':
- if send_mail(mailto_list,"subject","content"):
- print "发送成功"
- else:
- print "发送失败"
接收邮件 根据发件人并提取出指定邮件
- import poplib
- import string
- from email import parser
- host = 'pop.qq.com'
- username = 'your_qq@qq.com'
- password = 'your_password'
- pop_conn = poplib.POP3_SSL(host)
- pop_conn.user(username)
- pop_conn.pass_(password)
- #从服务器获取邮件列表:
- messages = [pop_conn.retr(i) for i in range(1, len(pop_conn.list()[1]) + 1)]
- # Concat message pieces:
- messages = ["/n".join(mssg[1]) for mssg in messages]
- #解析邮件到email object:
- messages = [parser.Parser().parsestr(mssg) for mssg in messages]
- for message in messages:
- addrfrom = str(message.get('from'))
- try:
- addrfrom.index('info@kingsoft.com')
- start_addr = addrfrom.index('<')
- end_addr = addrfrom.index('>')
- print addrfrom[start_addr + 1 : end_addr] #如果邮件是来自金山则打印他的标题
- except ValueError:
- continue
- pop_conn.quit()
评论暂时关闭