簡體   English   中英

使用 Python 中的 imaplib 在 Gmail 中創建草稿郵件

[英]Creating a Draft message in Gmail using the imaplib in Python

我想編寫一個 python 模塊,將數據發送到 G-mail 帳戶中的草稿消息。 大約兩周前我寫了一個腳本,它使用 imaplib 完美運行。 我的模塊的簡化示例如下。 (我已經為任何人創建了一個測試電子郵件地址來測試這個腳本。)

import imaplib
import time
conn = imaplib.IMAP4_SSL('imap.gmail.com', port = 993)
conn.login('testpythoncreatedraft@gmail.com', '123456aaa')
conn.select('[Gmail]/Drafts')
conn.append("[Gmail]/Drafts", '', imaplib.Time2Internaldate(time.time()), "TEST")

它使用了 .append 函數,但是今天當我運行該模塊時,它產生了以下錯誤:

Traceback (most recent call last):
  File "C:/Windows/System32/email_append_test.py", line 6, in <module>
    conn.append("[Gmail]/Drafts", '', imaplib.Time2Internaldate(time.time()), "TEST")
  File "C:\Python26\lib\imaplib.py", line 317, in append
    return self._simple_command(name, mailbox, flags, date_time)
  File "C:\Python26\lib\imaplib.py", line 1060, in _simple_command
    return self._command_complete(name, self._command(name, *args))
  File "C:\Python26\lib\imaplib.py", line 895, in _command_complete
    raise self.error('%s command error: %s %s' % (name, typ, data))
imaplib.error: APPEND command error: BAD ['Invalid Command']

正如我之前所說,這個模塊以前工作過。 它成功地創建了正文中帶有字符串“Test”的草稿消息。 由於此腳本曾經可以工作,因此它似乎更可能與 Google 對 G-mail 帳戶 IMAP 功能所做的更改有關,但該錯誤似乎表明 APPEND 命令中存在錯誤。 我已經在兩台不同的計算機上測試了 python 腳本,看看我的庫文件是否已損壞,但仍然存在相同的錯誤。

另外,我使用的是 Python 2.6。 任何幫助表示贊賞。

conn.append之前,添加以下內容:

import email

然后將conn.append行更改為:

conn.append("[Gmail]/Drafts",
            '',
            imaplib.Time2Internaldate(time.time()),
            str(email.message_from_string('TEST')))

暫無
暫無

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

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