复制电子邮件中的附件。

To copy the attached file in an email.

我已经知道如何获取电子邮件中附件的名称了。在那之后我就被困住了。我不知道之后该怎么做,我尝试使用 os.path.join 它只是给出了我想要下载文件夹的路径并将其与文件名连接起来。请提出一些建议。谢谢

m = imaplib.IMAP4_SSL('outlook.office365.com',993)
m.login("UN", "PW")
m.select("Inbox")

typ, msgs = mail.search(None, '(SUBJECT "qwerty")')
msgs = msgs[0].split()

for emailid in msgs:
    resp, data = mail.fetch(emailid, "(RFC822)")


    email_body = data[0][1]
    m = email.message_from_bytes(email_body)

    if m.get_content_maintype() != 'multipart':
        continue

    for part in m.walk():
        if part.get_content_maintype() == 'multipart':
            continue
        if part.get('Content-Disposition') is None:
            continue

        filename = part.get_filename()
        print(filename)

按照此 link 中的示例,您可以在使用打开功能时设置路径。 (在字符串前加上 r 的原始字符串)

fp = open(r'c:\tmp\folder\' + filename, 'wb')
fp.write(part.get_payload(decode=True))
fp.close()
print '%s saved!' % filename