如何解决使用python从gmail下载受密码保护的文件
我有这个代码可以从我的 Gmail 帐户正确下载附件。但是,我尝试下载的消息受密码保护。我应该在下面的代码中添加什么以便简单地下载文件,如果附件没有密码保护(我有密码)
import os
from imbox import Imbox # pip install imbox
import traceback
import glob
from datetime import datetime,timedelta
import holidays
host = "imap.gmail.com"
username = "email@gmail.com"
password = 'password'
download_folder = "Y:"+"\\" +"Attachments"
print(download_folder)
if not os.path.isdir(download_folder):
os.makedirs(download_folder,exist_ok=True)
date_today = datetime.today() -timedelta(days = 1)
while date_today in holidays.UnitedKingdom() or date_today.weekday() in [5,6] :
date_today = date_today- timedelta(days=1)
date= date_today
date_yesterday = date -timedelta(days = 1)
while date_yesterday in holidays.UnitedKingdom() or date_yesterday.weekday() in [5,6] :
date_yesterday = date_yesterday- timedelta(days=1)
date_yesterday = (date_yesterday).strftime('%d-%m-%Y')
date_today = (date_today).strftime('%d-%m-%Y')
print('todays date: ',date_today,",yesterdays date: ",date_yesterday)
mail = Imbox(host,username=username,password=password,ssl=True,ssl_context=None,starttls=False)
search= '3846_'+ date_today
messages = mail.messages(sent_from= 'email.com',subject= search)
for (uid,message) in messages:
mail.mark_seen(uid) # optional,mark message as read
for idx,attachment in enumerate(message.attachments):
try:
att_fn = attachment.get('filename')
download_path = download_folder + '\\'+att_fn
print('HERE',download_path)
with open(download_path,"wb") as fp:
fp.write(attachment.get('content').read())
except:
print('HERE2',traceback.print_exc())
mail.logout()
不幸的是返回此错误消息:
OSError: [Errno 22] 无效参数: 'Y:\Attachments\' HERE2 无
我认为此错误是由于文件受密码保护所致,但如果是其他原因,请告诉我。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。