mailgun发送附件是1kb空白图像

时间:2016-08-29 17:11:04

标签: python django mailgun

我有一个非常简单的基于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)

1 个答案:

答案 0 :(得分:1)

作为答案而非评论 - 您正在以文本模式而不是二进制模式阅读文件。在将它们提交给MailGun的API之前,这将引入奇数行结尾或以其他方式破坏您的文件。您希望以二进制模式读取文件,如下所示:

open('path/to/file', 'rb')
相关问题