我有一个非常简单的基于django的服务器,我希望用作带邮件的电子邮件发送服务器
我设法创建了一个触发带附件的电子邮件的服务器端点,这似乎工作正常但是当检出收到的电子邮件时,附件jpg文件只是一个1kb的空白图像,我不确定它是否是django问题,mailgun甚至是沙盒域的事实
这是我的代码,包括导入:
from django.shortcuts import render
from django.http import HttpResponse
from rest_framework import generics
import requests
class Email(generics.GenericAPIView):
def post(self, req, *args, **kwargs):
response = requests.post("https://api.mailgun.net/v3/sandbox....mailgun.org/messages",
auth=("api", "<API_KEY>"),
files=[("attachment", open("files/test.jpg"))],
data={"from": "Dummy user <mg.mymail@gmail.com>",
"to": ["mymail@gmail.com"],
"subject": "Hello worlds",
"text": "testing this thing out"})
resString = str(response)
return HttpResponse(resString)
答案 0 :(得分:1)
作为答案而非评论 - 您正在以文本模式而不是二进制模式阅读文件。在将它们提交给MailGun的API之前,这将引入奇数行结尾或以其他方式破坏您的文件。您希望以二进制模式读取文件,如下所示:
open('path/to/file', 'rb')