Я пытаюсь отправить электронное письмо с прикрепленным файлом с помощью API Mailgun с помощью request.post.Отправить вложенный файл с Mailgun с помощью python
В своей документации они предупреждают, что вы должны использовать многослойные/кодирование форм-данные при отправке вложения, я пытаюсь это:
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 по причине: Bad Request
Что случилось? мне нужно быть уверенными, что я использую многослойный/form-данные и я правильно используя вложения параметра
Я бы посоветовал пройти эту [документацию] (https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html), прежде чем что-либо делать в Интернете. Если вы знаете коды ошибок, вы сразу же знаете, где искать ошибки. В этом случае: какой-то параметр отсутствует или неправильно защищен – limbo