2

SendGrid 可以解析来自传入电子邮件的附件和内容。应用示例包括通过电子邮件接收上传和发布博客文章。

解析 API 会将解析后的电子邮件发布到您帐户中配置的 URL。SendGrid 自动排队并重试响应 5XX 状态错误的任何 POST。

4

1 回答 1

4

对我来说看起来很简单。

class Attachment(Model):
    file = FileField()

class Email(Model):
    headers = TextField()
    text = TextField()
    html = TextField()
    to = TextField()
    cc = TextField()
    subject = TextField()
    dkim = JSONField()
    SPF = JSONField()
    envelope = JSONField()
    charsets = CharField(max_length=255)
    spam_score = FloatField()
    spam_report = TextField()
    attachments = ManyToManyField(Attachment) 

EmailForm(ModelForm)
    attachments = IntegerField()
    class Meta:
        model = Email
        exclude = 'attachments'

@requires_POST
def sendgrid_email_reciever(request):
    form = EmailForm(request.POST)
    if form.is_valid()
        form.instance.save()
        for i in range(1,form.cleaned_data.['attachments']+1):
            attachment = request.FILES['attachment%d' % i]
            form.instance.attachments.create(file=attachment.read())
于 2012-02-20T06:59:45.520 回答