查看“Python案例:自动化存储邮件”的源代码
←
Python案例:自动化存储邮件
跳转至:
导航
,
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
==将邮箱里所有邮件的相关信息存到 Excel 中备份== ===安装模块=== pip install keyring pip install imbox ===存储密码=== 要解决这个需求,首先我们利用 keyring 库,通过系统密钥环将开启 IMAP/SMTP服务后获得的密码(授权码)预先在本地存储好。首先打开命令行输入python后输入 <nowiki>>>> import keyring >>> keyring.set_password("qqmail","maxin5452@qq.com","你的密码(授权码)") >>> </nowiki> 这样 password 在本地存储好了,后面只需要 keyring.get_password 获取作为变量即可: <nowiki> import keyring password = keyring.get_password("qqmail","maxin5452@qq.com")</nowiki> 邮箱设置->账户 [[文件:python21042401.png|500px]] ===读取全部邮件=== 用 imbox 读取邮件的代码如下: <nowiki> import keyring password = keyring.get_password("qqmail","maxin5452@qq.com") from imbox import Imbox with Imbox("imap.qq.com","maxin5452@qq.com", password,ssl=True) as imbox: # 获取全部邮件 all_inbox_messages = imbox.messages() # 获取全部邮件 for uid, message in all_inbox_messages: #print(uid) # 邮件编号 #print(message.sent_from) # 发件人 print(message.subject) # 邮件主题 print(message.date) # 日期 #print(message.body['plain']) # 邮件文本格式正文 #print(message.attachments) # 附件</nowiki> 关于上面的代码有几个地方需要注意一下: *Imbox('imap.qq.com', 'xxx@qq.com', password, ssl=True) 这行代码中需要填写服务器、用户名邮箱、密码、SSL加密 *循环体中 uid 参数是每封邮件的编号,邮件编号十分重要,可以用于邮件的标记和删除 *message.sent_from 返回一个包裹字典的列表,这个字典有两个键:name 和 email,name 即用户名(或昵称),email 是发件人的邮箱 *message.date 获取的字符串内容如 'Tue, 3 Nov 2020 08:08:16 +0800 (GMT+08:00)' ,一个 GMT 格式的时间,我们需要将它转化为正常的日期(年月日)+时间(时分秒),也就是将 GMT 时间格式的字符串转换成datetime 类型,可以通过下面的代码: <nowiki> import datetime date = 'Tue, 3 Nov 2020 08:08:16 +0800 (GMT+08:00)' GMT_FORMAT = '%a, %d %b %Y %H:%M:%S +0800 (GMT+08:00)' print(datetime.datetime.strptime(date, GMT_FORMAT))</nowiki>
返回至
Python案例:自动化存储邮件
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息