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
How to filter a Django Queryset using Extra

Using SQL Queries in Django ORM - Filtering extra objects within in a single query, to reduce the number of queries.

Continue Reading...
Django Conditional Expressions in Queries

Reduce database queries in django with Conditional Expressions. By using Conditional Expressions we can use "If...Elif...Else" expressions while querying the database so that we can ...

Continue Reading...
Autocomplete with Django-Haystack and Elasticsearch with single letter querying.

Django's haystack provides autocomplete functionality. To do autocomplete effectively, the search backend(elasticsearch in this case) uses n-grams (essentially a small window passed over the string). ...

Continue Reading...

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