Python - 转发带附件的IMAP邮件 (imaplib, smtplib)
我在转发带附件的邮件时遇到了问题。有没有人能给我一些建议?我猜可能是在Fetch语句那里,但我不太确定。
import sys
import uuid
import re
import smtplib
import email
address = ''
username = ''
password = ''
def checkMail():
M = imaplib.IMAP4_SSL(address)
M.login(username, password)
M.select("INBOX", readonly=True)
typ, data = M.search(None, 'Unseen')
messageCount = len(data[0].split())
print('messageCount: %', messageCount)
if messageCount > 0:
for num in data[0].split():
typ, data = M.fetch(num, '(BODY[TEXT])')
foundAt = data[0][1].find('Content-Type: application')
if(foundAt > 0):
print('attachmentfound')
sendMail(data[0][1])
M.close()
M.logout()
def sendMail(raw_message):
toAddress = ''
fromAddress = ''
LOGIN = ''
PASSWORD = ''
server = smtplib.SMTP('', 587)
server.set_debuglevel(1)
server.ehlo()
server.starttls()
server.login(LOGIN, PASSWORD)
server.sendmail(fromAddress, toAddress, raw_message)
server.quit()
def main():
checkMail()
main()
2 个回答
0
是那个fetch... 加上一个fetch来处理(BODY[])就解决了问题。
0
如果你想使用imaplib,为什么不直接获取整个邮件内容(RFC822格式)呢?可以参考这个类似的问题: