私はスタンザからの情報を処理しています。目標の 1 つは、エラーがあるかどうかを確認し、電子メールで通知を送信することです。
私ができることは、エラー (IqError または IqTimeout のいずれか) をキャッチし、書かれた情報を含む一般的な電子メールを送信することです。
except IqTimeout:
USERNAME = 'user'
PASSWORD = 'password'
sender = 'someguy@myemail.com'
receivers = 'bshell@myemail.com'
message = """From: SomeGuy <someguy@myemail.com>
To: Barbara Shell <bshell@myemail.com>
Subject: Alert of an Error
This is a test e-mail message: IqTimeout
"""
smtpObj = smtplib.SMTP('smtp.sendmail.net', 123)
smtpObj.login(USERNAME, PASSWORD)
smtpObj.sendmail(sender, receivers, message)
print "Successfully sent email"
また、「エラー」スタンザからの情報をログに出力しようとしましたが、1 つのフィールドしか得られませんでした。
logging.error("Could not register account. Error code: %s" %e.iq['error']['code'])
私が欲しいのは、スタンザから電子メールに送信されるエラーの情報です。これは、基本的に次のようなものです。
To: bshell@myemail.com
From: someguy@myemail.com
Subject: Alert of an Error
This is your error:
RECV: <iq to="bshell@myemail.net/36457242971338462713453506" from="chat.test.net" id="3" type="error"><oo xmlns="http://chat.net/profile" /><error code="404" type="cancel"><remote-server-not-found xmlns="urn:ietf:params:xml:ns:xmpp-stanzas" /></error></iq>
私はpythonで書いています。さらに情報が必要な場合は、喜んでお答えします。
前もって感謝します!
よろしく、