Ich versuche, eine E-Mail mit einer angehängten Datei mit der Mailgun-API mit requests.post zu senden.Senden Sie angehängte Datei mit Mailgun mit Python
In ihrer Dokumentation sie, dass alarmieren Sie multipart/form-data-Codierung verwenden müssen, wenn Anlagen senden, versuche ich dies:
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")
ich den Header definiert haben, dass der Inhalt sicher sein Geben Sie multipart/form-data, aber wenn ich den Code ausführen, bekomme ich einen 400-Status mit Grund: Bad Request
Was ist los? muss ich sicher sein, dass ich mit multipart/form-data und ich bin mit den richtigen Befestigung Parameter
Ich würde empfehlen, diese [Dokumentation] (https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html) zu lesen, bevor Sie irgendetwas im Internet tun. Wenn Sie die Fehlercodes kennen, wissen Sie sofort, wo Sie nach den Fehlern suchen müssen. In diesem Fall: ein Parameter fehlt oder wird falsch angezeigt – limbo