2
添付ファイル付きのメールを、requests.postを使用してMailgun APIで送信しようとしています。Pythonを使用してMailgunで添付ファイルを送信する
import requests
MAILGUN_URL = 'https://api.mailgun.net/v3/sandbox4f...'
MAILGUN_KEY = 'key-f16f497...'
def mailgun(file_url):
"""Send an email using MailGun"""
f = open(file_url, 'rb')
r = requests.post(
MAILGUN_URL,
auth=("api", MAILGUN_KEY),
data={
"subject": "My subject",
"from": "[email protected]",
"to": "[email protected]",
"text": "The text",
"html": "The<br>html",
"attachment": f
},
headers={'Content-type': 'multipart/form-data;'},
)
f.close()
return r
mailgun("/tmp/my-file.xlsx")
私はコンテンツのことを確認するために、ヘッダーを定義した:彼らはあなたが添付ファイルを送信するとき、私はこれをしようとしている multipart/form-dataエンコーディングを使用しなければならないことを警告し、そのドキュメントで
タイプはマルチパート/フォームデータですが、私がコードを実行すると、理由があるステータスが400になります:不正リクエスト
何が問題なのですか? 私は私がマルチパート/フォームデータを使用していと私が正しくあなたがfiles
キーワード引数を使用する必要が添付パラメータ
ウェブ上で何かをする前に、この[documentation](https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html)を調べることをお勧めします。エラーコードを知っていれば、バグを探す場所をすぐに知ることができます。この場合、一部のパラメータが欠けているか、間違って処分されている – limbo