2016-10-16 10 views
0

私はpostfixとpythonの新機能です。私はUbuntuの上、セットアップ後置をしたし、main.cfpython - Linuxのpythonのpostfixから電子メールを読む

mailbox_command = /home/someuser/test.pyとtest.py設定している:私はフィールドに挿入する電子メールの内容を期待していた

#!/usr/bin/python 
import sys, MySQLdb 

email_input = sys.stdin 
db = MySQLdb.connect(host="localhost", 
        user="user", 
        passwd="password", 
        db="test") 

cur = db.cursor() 

sql = "insert into postfix (value) values (%s)" 
cur.execute(sql, (email_input,)) 
db.commit() 
db.close() 

を代わりに、私は<open file '<stdin>', mode 'r' at 0x7f018b3b40c0>になってしまいました

メモリアドレスと思われるものから生の電子メール文字列を取得するにはどうすればよいですか?

答えて

1

sys.stdinは、タイプTextIOWrapperおよびcur.executeのオブジェクトで、文字列が必要です。 sys.stdinに入力を読み取り、それを表す文字列を返すように指示する必要があります。何をしようとしているかによって、readlineまたはreadlinesのいずれかを使用してください。

cur.execute(sql, (sys.stdin.readlines(),)) 
関連する問題