使用Python中的imaplib在Gmail中创建草稿消息



我想编写一个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:Python26libimaplib.py", line 317, in append
    return self._simple_command(name, mailbox, flags, date_time)
  File "C:Python26libimaplib.py", line 1060, in _simple_command
    return self._command_complete(name, self._command(name, *args))
  File "C:Python26libimaplib.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')))

相关内容

  • 没有找到相关文章

最新更新