8

Gmailアカウントのドラフトメッセージにデータを送信するPythonモジュールを作成したいと思います。私は約2週間前に、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コマンドのエラーを示しているようです。2台の異なるコンピューターでPythonスクリプトをテストして、ライブラリファイルが破損していないかどうかを確認しましたが、同じエラーが残りました。

また、Python2.6を使用しています。どんな助けでも大歓迎です。

4

1 に答える 1

6

の前にconn.append、以下を追加します。

import email

次に、次のようにconn.append行を変更します。

conn.append("[Gmail]/Drafts",
            '',
            imaplib.Time2Internaldate(time.time()),
            str(email.message_from_string('TEST')))
于 2011-11-26T17:38:16.357 に答える