Python 如何使用带有Django的解析API解析来自Sendgrid的消息?

Python 如何使用带有Django的解析API解析来自Sendgrid的消息?,python,django,parsing,sendgrid,Python,Django,Parsing,Sendgrid,SendGrid可以解析来自传入电子邮件的附件和内容。应用程序示例包括接收上传和通过电子邮件发布博客文章 解析API将解析后的电子邮件发布到您帐户中配置的URL。SendGrid会自动排队并重试任何回复5XX状态错误的帖子 看起来很简单 class Attachment(Model): file = FileField() class Email(Model): headers = TextField() text = TextField() html = Te

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

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


看起来很简单

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())

看起来很简单

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())