Как вы анализируете сообщение из Sendgrid, используя их Parse API с Django? - PullRequest
2 голосов
/ 20 февраля 2012

SendGrid может анализировать вложения и содержимое входящих сообщений электронной почты. Примеры приложений включают получение загрузок и публикацию статей в блогах по электронной почте.

API синтаксического анализа будет отправлять проанализированную электронную почту на URL-адрес, настроенный в вашей учетной записи. SendGrid автоматически ставит в очередь и повторяет любые сообщения POST, которые отвечают с ошибкой состояния 5XX.

1 Ответ

4 голосов
/ 20 февраля 2012

Выглядит довольно просто для меня.

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