2
我試圖使用requests.post發送帶有Mailgun API附件的電子郵件。使用python發送Mailgun附件文件
在他們的文件,他們提醒發送附件時必須使用的multipart/form-data編碼,我想這樣的:
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原因的狀態:錯誤的請求
怎麼了? 我需要確保我使用的multipart/form-data的和我使用正確附件參數
在做任何事情之前,我建議先瀏覽一下這個[documentation](https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html)。如果您知道錯誤代碼,您會立即知道在哪裏查找錯誤。在這種情況下:某些參數丟失或被錯誤地提示 – limbo