Python自动收取邮件脚本
文献:
https://cloud.tencent.com/developer/section/1368355
功能:
收取腾讯企业邮箱邮件写入CSV文件
条件:
筛选固定期限与固定发件人/收件人
说明:
1.此脚本采用imaplib协议;不支持授权码登陆方式(163imap授权码)等,有想法的可以重构,收取邮件脚本大同小异,只不过是获取之后编码问题有点棘手,读者花费点时间精力根据不同的字段重写编码转换处即可实现最终功能。
2.没有写入excel是因为excel单元格内容不兼容或可能限制字节,产生了打不开的原因。CSV这方面要友好很多。
3.可以花时间去扩展一下解析邮件内容,毕竟邮件内容不仅仅是文本,还有html解析(pqyuery/xpatch),图片转换base64写入文件,附件下载,超链接提取等等…
注意:
1.imap的search官方文档说可以筛选固定的发件人/收件人/时间段等多种条件,返回符合条件的邮件序号列表,但是多次尝试发现返回的仍然是全部的邮件序号列表,最后if … in …判断获取字段的值来实现。可能是没有维护,我也很好奇…
2.有时间真的得好好研究研究了…,为学而学,做积累,而不是实现功能即可。
使用:
更改callback函数中的paramsDict参数即可
代码:
# -*- coding: utf-8 -*-
import imaplib
import email
import csv
from email.header import decode_header
import re
class Email_Scrapy(object):
def __init__(self, paramsDict):
self.port = paramsDict.get('port')
self.host = paramsDict.get('host')
self.user = paramsDict.get('user')
self.pwd = paramsDict.get('pwd')
self.valid_date = paramsDict.get('valid_date')
self.sender