Event Webhook Python Code Example
We recommend using our official Python SDK, our client library with full documentation, when integrating with SendGrid's Inbound Parse Webhook.
In this example, we want to parse all emails at firstname.lastname@example.org and post the parsed email to http://sendgrid.biz/parse. In this example we will be using Python the Flask framework.
Given this scenario, the following are the parameters you would set at the Parse API settings page:
To test this scenario, we sent an email to email@example.com and created the following code:
from flask import Flask, request import simplejson app = Flask(__name__) @app.route('/parse', methods=['POST']) def sendgrid_parser(): # Consume the entire email envelope = simplejson.loads(request.form.get('envelope')) # Get some header information to_address = envelope['to'] from_address = envelope['from'] # Now, onto the body text = request.form.get('text') html = request.form.get('html') subject = request.form.get('subject') # Process the attachements, if any num_attachments = int(request.form.get('attachments', 0)) attachments =  if num_attachments > 0: for num in range(1, (num_attachments + 1)): attachment = request.files.get(('attachment%d' % num)) attachments.append(attachment.read()) # attachment will have all the parameters expected in a Flask file upload return "OK" if __name__ == '__main__': app.run(debug=True)
Need some help?
We all do sometimes. Get help now from the Twilio SendGrid Support Team.
Running into a coding hurdle? Lean on the wisdom of the crowd by browsing the SendGrid tag on Stack Overflow or visiting Twilio's Stack Overflow Collective.