从飞书企业邮箱下载未读邮件的附件到服务器 python
公司最近需要的文件发送到企业邮箱,然后需要把未读邮件的附件下载下来,做一些操作。每天执行。于是就写出了这个脚本(其实是chatgpt写的,我只是做了写修改)。
脚本如下:
import os
import imaplib
import email
from email.header import decode_header# 连接到 IMAP 服务器
imap_server = imaplib.IMAP4_SSL("imap.feishu.cn")
imap_server.login("username", "password")
imap_server.select("INBOX")# 搜索未读邮件
status, data = imap_server.search(None, "UNSEEN")# 遍历未读邮件
for num in data[0].split():status, data = imap_server.fetch(num, "(RFC822)")raw_email = data[0][1]email_message = email.message_from_bytes(raw_email)# 处理附件for part in email_message.walk():if part.get_content_disposition() is not None:# 获取附件文件名filename = part.get_filename()# 解码文件名decoded_filename = decode_header(filename)[0][0]if isinstance(decoded_filename, bytes):try:decoded_filename = decoded_filename.decode("utf-8")except UnicodeDecodeError:decoded_filename = decoded_filename.decode("gbk", errors="ignore")# 指定保存附件的路径save_path = os.path.join("./", decoded_filename)# 保存附件到文件with open(save_path, "wb") as f:f.write(part.get_payload(decode=True))
使用说明:
如果使用这个脚本,需要做以下修改:
1. 在脚本中,你需要将 username 和
password替换为你的飞书邮箱的登录凭据。另外,你还可以根据实际需求修改附件保存路径等设置。2. 确保已安装 Python 的相关依赖,如
imaplib和pip install命令进行安装。3. 在运行脚本之前,请确保你的飞书邮箱已启用了 IMAP 服务,并将 IMAP 服务器地址替换为正确的值。
4. 飞书的邮箱登录凭据建议百度怎么拿,百度一下就行了。这里简单说一下
邮箱——》邮箱设置——》第三方邮箱客户端登录——》立即设置
选择一个设备生成就行了
5. 如果你要自定义附件的存放路径。应当修改
save_path = os.path.join("./", decoded_filename)
例如附件的存放路径修改为 /home/nmk/test
save_path = os.path.join("/home/nmk/test", decoded_filename)
执行 python3 脚本名 然后就把文件拿下来了。之后想做修改的话,例如想改文件格式,比如将下载的文件格式从 .xls 转换成.txt ,推荐使用下面的命令
ssconvert 原文件名 新文件名 (记得新文件名要带上后缀哦。)
如果你还没有这个命令,可以执行以下命令下载
sudo apt install gnumeric
至于后续文件要怎么用,包括要怎么修改,就要看实际情况了。拜拜。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
