asana統合を使用して Python で顧客/注文処理用の Web アプリを作成しています。
登録された受注の場合、請求書は .pdf として作成されます。asana python API はまだ添付ファイルを提供していないため、このファイルを mandrill を使用して電子メールの添付ファイルとして asana に送信したいと考えています。
mandrill は添付ファイルのコンテンツを base64 でエンコードされた文字列として必要とするため、次の関数を使用して pdf のバイナリを作成します。
def binaryFile(self, pathToFile):
binary_obj = xmlrpclib.Binary( open(pathToFile).read() )
return binary_obj
ファイルのパスとともに、これを次のように mandrill にスローします。
'attachments': [{'content': binaryFile,
'name': pathOfFile,
'type': 'application/pdf'}]
全体を送信しようとすると、次のようになります。
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site- packages/mandrill.py", line 1215, in send
return self.master.call('messages/send', _params)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/mandrill.py", line 131, in call
params = json.dumps(params)
OverflowError: Overlong 3 byte UTF-8 sequence detected when encoding string
私が間違っていることを誰が示唆できますか?
ありがとうございました。