2011-09-22 10 views
8

G-メールアカウントのドラフトメッセージにデータを送信するPythonモジュールを作成します。私は約2週間前にimaplibを使って完全に動作するスクリプトを書いています。私のモジュールの簡単な例を以下に示します。 (私が上でこのスクリプトをテストするために、誰のためのテストメールアドレスを作成している。)Pythonでimaplibを使用してGmailでドラフトメッセージを作成する

import imaplib 
import time 
conn = imaplib.IMAP4_SSL('imap.gmail.com', port = 993) 
conn.login('[email protected]', '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スクリプトをテストしましたが、同じエラーが残っていました。

また、私はPython 2.6を使用しています。どんな助けもありがとうございます。 conn.append

答えて

6

、次の行を追加します。

import email 

次に読むためにconn.append行を変更します。

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

は、件名を追加する方法はありますか? –

+0

はいあります:(https://docs.python.org/3.5/library/email-examples.htmlのEMailMessageの例を参照してください) – thisch

関連する問題