Sendgrid Inbound Email Parsing with django

Using the Inbound parse webhook, we can parse the contents, attachments of an incoming email. 

Inbound Parse API follows 3 steps:

1. sending an email to the mail id(URL_Name@your specified domain/sub domain.com)

        a Here the domain/ sub domain, where the emails will be sent, and the URL_Name, where we will handle the contents, attachments of an incoming email in our app. 

        b. Here the domain/sub domain should point out the MX record to mx.sendgrid.net. Here http://mxtoolbox.com/ you can check weather your domain/ sub domain is having MX  record or not.

        c. we should add domain/ sub domain, URL to our inbound parse webhook settings list.

         For ex:
             domain: reports.micropyramid.com
             url: https://micropyramid.com/reports/
             mail id: reports@reports.micropyramid.com

2. Sendgrid parses the content and attachments of an email and sends the information to the specified URL of your application.

3. You can receive the JSON post response to your application
         envelope = request.POST.get('envelope')
         my_dict = literal_eval(envelope)

      You can get email from address form my_dict['from'], text(request.POST.get('text')), attachment details from request.POST.get('attachment-info').

In order to test it in local server, You can use the following settings:

        domain: your_domain_name.bymail.in(bymail.in is having an MX record)
        URL: Your App Url
        mail id: URL_Name@your_domain_name.bymail.in

 

Posted On 08 May 2014 By MicroPyramid


Need any Help in your Project?Let's Talk

Latest Comments
Related Articles
Using Python weasyprint generate HTML to PDF in django

WeasyPrint is to combine multiple pieces of information into an HTML template and then converting it to a PDF document.

Continue Reading...
Understanding Routers in Django-Rest-Framework

By using routers in django-rest-framework we can avoid writing of url patterns for different views. Routers will save a lot of time for developing the ...

Continue Reading...
Deploying Your Django app on Heroku

Heroku is a platform as a service (PaaS) that enables developers to build and run applications entirely in the cloud.
1. installation
2. Creating and ...

Continue Reading...
open source packages

Subscribe To our news letter

Subscribe and Stay Updated about our Webinars, news and articles on Django, Python, Machine Learning, Amazon Web Services, DevOps, Salesforce, ReactJS, AngularJS, React Native.
* We don't provide your email contact details to any third parties