簡體   English   中英

Imaplib從帶有附件的Gmail轉發郵件(Python)

[英]Imaplib forward mail from gmail with attachment (Python)

對不起我的英語不好。 我需要從gmail獲取郵件(此郵件可以包含附件),然后從另一封電子郵件轉發此郵件。 下面是我的轉發郵件代碼:

            for email_id in reversed(items):
                status, data = self.imap.fetch(email_id, "(RFC822)")
                if status == 'OK':

                    if count == 2: // this message contains attachment
                        message = email.message_from_bytes(data[0][1])
                        message.replace_header("From", FROM_ADDR)
                        message.replace_header("To", TO_ADDR)

                        try:
                            smtp = smtplib.SMTP('smtp.gmail.com', 587)
                            smtp.starttls()
                            smtp.login(CLIENT_MAIL, CLIENT_PASSWORD)
                            smtp.sendmail(FROM_ADDR, TO_ADDR, message.as_string())
                            smtp.quit()
                            print("send mail")
                        except BaseException as e:
                            print(e)

                    count += 1

如果郵件僅包含文本(不帶附件),則此代碼有效

您的錯誤訊息是什么?

另外,如果您使用的是Python 3.2+,是否嘗試過使用smtp.send_message(message, FROM_ADDR, TO_ADDR)而不是smtp.sendmail() 看起來它努力嘗試更正確地做事,尤其是在SMTP連接中的字符編碼方面。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM