As you're probably aware, SendGrid is great at sending your email, but SendGrid can also help you process email using the Inbound Parse Webhook. The Inbound Parse Webhook processes all incoming email for a domain or subdomain, parses the contents and attachments then POSTs
multipart/form-data to a URL that you choose.
XML is only available in v2.
What your application does with this parsed data is up to you. For some ideas of what the Inbound Parse Webhook can do, check out this blog post, and see this blog post about how to create a microservice for handling SendGrid inbound parse.
Check out some pre-made integrations for the SendGrid Inbound Parse Webhook in the Library Index.
To begin processing email using SendGrid's Inbound Parse Webhook, you will have to setup MX Records, choose the hostname (or receiving domain) that will be receiving the emails you want to parse, and define the URL where you want to POST
your parsed emails.
This hostname should be used exclusively to parse your incoming email.
Do not change the MX record for your domain. If you do, you will no longer receive email.
It should look something like this:
If there is no field for priority, type 10 before the address. e.g. 10 mx.sendgrid.net.
From your SendGrid Dashboard click Settings, and then click Inbound Parse. You are now on the Inbound Parse page.
Click Add Host & URL.
Here you will specify the subdomain and root domain of the receiving domain (or hostname). All emails sent to this receiving domain will be parsed.
If you use the same return path (subdomain) as your authenticated domain, you must have Automatic Security disabled on the authenticated domain. Otherwise, those messages will bounce due to an infinite CNAME>MX loop.
The URL must be accessible from the public web.
POST
ed.(Optional) Check Spam Check if you want Inbound Parse to check incoming email 2.5MB and under for spam. Checking this box will also include the spam report and spam score in the payload. Mail over 2.5MB is highly unlikely to be spam and will receive a SendGrid generated report indicating it's not spam.
(Optional) Check Send Raw if you would prefer to receive the full MIME message URL encoded in multipart/form-data.
If you do not check Send Raw, the post will be multipart/form-data with the email content URL encoded, but the attachments will be in multipart/form-data. If your code is only set up to read URL encoding, attachments could be dropped.
You have just finished configuring Inbound Parse!
To test if everything is working, send an email from your email account to example@example.com.
The local-part (i.e. anything before @) can be any* word or combination (except "abuse", "postmaster" and "unsubscribe") because all email for the domain or subdomain will be processed.
*There are three reserved local-parts that must not be used: "abuse", "postmaster", and "unsubscribe" (e.g. abuse@subdomain.domain.com, postmaster@subdomain.domain.com, and unsubscribe@subdomain.domain.com are not allowed.)
Remember to direct your incoming email to your hostname (for example, example@example.com). If you do not, your incoming email will not be parsed.
Parameter | Description |
---|---|
headers | The raw headers of the email. |
dkim | A string containing the verification results of any DKIM and domain keys signatures in the message. |
content-ids | A string containing the number of attachments. |
to | Email recipient field, as taken from the message headers. |
text | Email body in plaintext formatting. |
html | HTML body of email. If not set, email did not have an HTML body. |
from | Email sender, as taken from the message headers. |
sender_ip | A string of the sender's ip address. |
spam_report | Spam Assassin's spam report. |
envelope | A string containing the SMTP envelope. This will have 2 variables: to , which is a single-element array containing the address that we received the email to, and from , which is the return path for the message. |
attachments | Number of attachments included in email. |
subject | Email Subject. |
spam_score | Spam Assassin's rating for whether or not this is spam. |
attachment-info | A JSON map where the keys are named attachment{X}. Each attachment key points to a JSON object containing three fields, filename , type , and content-id . The filename field is the name of the file (if it was provided). The type field is the media type of the file. X is the total number of attachments. For example, if the number of attachments is 0, there will be no attachment files. If the number of attachments is 3, parameters attachment1, attachment2, and attachment3 will have file uploads. |
charsets | A string containing the character sets of the fields extracted from the message. |
SPF | The results of the Sender Policy Framework verification of the message sender and receiving IP address. |
1[Date] array(16) {2["headers"]=>3string(1970) "Received: by mx0047p1mdw1.sendgrid.net with SMTP id 6WCVv7KAWn Wed, 27 Jul 2016 20:53:06 +0000 (UTC)4Received: from mail-io0-f169.google.com (mail-io0-f169.google.com [209.85.223.169]) by mx0047p1mdw1.sendgrid.net (Postfix) with ESMTPS id AA9FFA817F2 for <example@example.com>; Wed, 27 Jul 2016 20:53:06 +0000 (UTC)5Received: by mail-io0-f169.google.com with SMTP id b62so81593819iod.3 for <example@example.com>; Wed, 27 Jul 2016 13:53:06 -0700 (PDT)6DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sendgrid.com; s=ga1; h=mime-version:from:date:message-id:subject:to; bh=DpB1CYYeumytcPF3q0Upvx3Sq/oF4ZblEwnuVzFwqGI=; b=GH5YTxjt6r4HoTa+94w6ZGQszFQSgegF+Jlv69YV76OLycJI4Gxdwfh6Wlqfez5yID 5dsWuqaVJZQyMq/Dy/c2gHSqVo60BKG56YrynYeSrMPy8abE/6/muPilYxDoPoEyIr/c UXH5rhOKjmJ7nICKu1o99Tfl0cXyCskE7ERW0=7X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=DpB1CYYeumytcPF3q0Upvx3Sq/oF4ZblEwnuVzFwqGI=; b=Sq6LVHbmywBdt3sTBn19U8VOmelfoJltz8IcnvcETZsYwk96RBxN+RKMN5fOZSKw4j 15HrgdIFfyDmp67YK0ygvOITlTvZ6XY5I0PtnvDtAQt79kS3tKjI3QKJoEp/ZjIjSzlL KG7agl6cxFgBbIN0yHWBOvy3O+ZXY8tZdom1yOvULjmjW1U9JkdOs+aJ6zq4qhZX/RM/ tIgLB461eJ5V95iQDDc5Ibj9Cvy4vJfXLQRO0nLVQAT2Yz58tkEO1bDZpWOPAyUNneIL yhIWp+SpbuqhMA68mq0krG1PjmWalUbpVcGJIGuOKB9mQFFo/MqdrUCjvYnyo1jPLPeX psdQ==8X-Gm-Message-State: AEkoousvdxmDoxLlTUYJ1AOmCGJv77xRBBlfKv6YrthH0M2NueMwlOxUD6t8nidE9uonXbdJ/DQy/chmHUnN//a49X-Received: by 10.107.6.101 with SMTP id 98mr38024553iog.41.1469652785829; Wed, 27 Jul 2016 13:53:05 -0700 (PDT)10MIME-Version: 1.011Received: by 10.107.48.17 with HTTP; Wed, 27 Jul 2016 13:53:05 -0700 (PDT)12From: Sender Name <example@example.com>13Date: Wed, 27 Jul 2016 14:53:05 -060014Message-ID: <CAN_P_JMvV7ZpAQhOnDienypLrJmuhN=LQWweu4yScw4jQyXY2w@mail.gmail.com>15Subject: Different File Types16To: example@example.com17Content-Type: multipart/mixed; boundary=001a113f8ad03e85160538a4343c18"19["dkim"]=>20string(22) "{@sendgrid.com : pass}"21["content-ids"]=>22string(37) "{"ii_1562e2169c132d83":"attachment1"}"23["to"]=>24string(26) "example@example.com"25["html"]=>26string(479) "<div dir="ltr">Here's an email with multiple attachments<div> </div><div><img src="cid:ii_1562e2169c132d83" alt="Inline image 1" width="455" height="544"><br clear="all"><div></div>-- <div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><img src="https://sendgrid.com/brand/sg-logo-email.png" width="96" height="17"><div></div></div></div></div></div>"27["from"]=>28string(33) "Sender Name example@example.com"29["text"]=>30string(139) "Here's an email with multiple attachments"31["sender_ip"]=>32string(14) "209.85.223.169"33["spam_report"]=>34string(844) "Spam detection software, running on the system "mx0047p1mdw1.sendgrid.net", has35identified this incoming email as possible spam. The original message36has been attached to this so you can view it (if it isn't spam) or label37similar future email. If you have any questions, see38@@CONTACT_ADDRESS@@ for details.3940Content preview: Here's an email with multiple attachments [image: Inline image1] -- [...]4142Content analysis details: (2.6 points, 5.0 required)4344pts rule name description45---- ---------------------- --------------------------------------------------460.8 HTML_IMAGE_RATIO_02 BODY: HTML has a low ratio of text to image area470.0 HTML_MESSAGE BODY: HTML included in message481.8 HTML_IMAGE_ONLY_08 BODY: HTML: images with 400-800 bytes of words490.0 T_MIME_NO_TEXT No text body parts5051"52["envelope"]=>53string(66) "{"to":["example@example.com"],"from":"example@example.com"}"54["attachments"]=>55string(1) "2"56["subject"]=>57string(20) "Different File Types"58["spam_score"]=>59string(5) "2.597"60["attachment-info"]=>61string(287) "{"attachment2":{"filename":"DockMcWordface.docx","name":"DockMcWordface.docx","type":"application/vnd.openxmlformats-officedocument.wordprocessingml.document"},"attachment1":{"filename":"MG_2359.jpg","name":"_MG_2359.jpg","type":"image/jpeg","content-id":"ii_1562e2169c132d83"}}"62["charsets"]=>63string(77) "{"to":"UTF-8","html":"UTF-8","subject":"UTF-8","from":"UTF-8","text":"UTF-8"}"64["SPF"]=>65string(4) "pass"66}6768
Parameter | Description |
---|---|
dkim | A string containing the verification results of any DKIM and domain keys signatures in the message. |
A string containing the email headers, date, body, and attachments | |
To | Email recipient field as taken from the message headers. |
cc | Email cc field, as taken from the message headers. |
From | Email sender, as taken from the message headers. |
Text | Email body in plaintext formatting. |
html | HTML body of email. If not set, email did not have an HTML body. |
Sender IP | Email sender IP address. |
Spam Report | Spam Assassin's spam report. |
Envelope | A string containing the SMTP envelope. This will have 2 variables: to , which is an single-element array containing the addresses that received the email, and from , which is the return path for the message. |
Subject | Email subject. |
Spam_Score | Spam Assassin's rating for whether or not this is spam. |
Charsets | A string containing the character sets of the fields extracted from the message. |
SPF | The results of the Sender Policy Framework verification of the message sender and receiving IP address. |
We recommend limiting the total size of your message, including the message itself and all attachments, to 30MB. Be aware that other mail handlers will have their own limitations, and some ISPs and companies may either dramatically limit the size and/or type of attachments, or even block them altogether.
1array(11) {2["dkim"]=>3string(22) "{@sendgrid.com : pass}"4["email"]=>5string(8879) "Received: by mx0032p1mdw1.sendgrid.net with SMTP id rOkt2xLLKV Tue, 19 Jul 2016 15:06:29 +0000 (UTC)6Received: from mail-it0-f45.google.com (mail-it0-f45.google.com [209.85.214.45]) by mx0032p1mdw1.sendgrid.net (Postfix) with ESMTPS id 26D6080397 for <parse@parse.yourdomain>; Tue, 19 Jul 2016 15:06:22 +0000 (UTC)7Received: by mail-it0-f45.google.com with SMTP id f6so93587860ith.1 for <example@example.com>; Tue, 19 Jul 2016 08:06:22 -0700 (PDT)8DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sendgrid.com; s=ga1; h=mime-version:from:date:message-id:subject:to; bh=UYWCIUKTVXyV9U41l+c9+qOlpoeQGcJkKpyOAatNr3Y=; b=c1I/LcqHEJklmAThWr9Z8NKlTPHUlE/8sDSpK382fJtIQcGdUtczG0pijnUHegrFVt FDr4NehtJDD9KFvXLXboLCtObsu5HTN99ckUCCZTibZseA+J8U3jjCqTdj1fmUage5C7 //Iwi0Ndioonzhm18J7KStap66yZ69ED7UxPk=9X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=UYWCIUKTVXyV9U41l+c9+qOlpoeQGcJkKpyOAatNr3Y=; b=lgmLXnmmpNcQMckjshsZsa2/8OjFZzntWYSG5XZo0fi32KHLuBLSHuNDFXn0V4ICp1 1xuT2fZCyhBSgNBiWNbjqFspdemzrBjaI1Tgm/Zz8Fv6wW2XdjpoANNQzJxfdhnecPd5 HvZ5P8+KTqjr4tAa9RmLthDc3UqhV9NRnCnhbW/AZaVQLB8eoJus92tD1GeXpBQml5XF m6vPUGrWGZWNugINkRKxIpk+2uECglAjNm4NpZIi9j7N94CxA18RC4NJ59WIsSybtIer hbCgT1Q13rvGEzvnp6FfFQVbE3DOibNqd0bh/EvZCagFVbnenNc/Q+qHtU9KqFlisSOp xh0w==10X-Gm-Message-State: ALyK8tINVaZIP8YCgQbpg5ya8EnqQo76uxkXUPpDnM+kAyAQQzehFU10EgyuAe2fAmWf/muBiFDy0JDU74Eclp1/11X-Received: by 10.36.76.16 with SMTP id a16mr4479786itb.77.1468940781988; Tue, 19 Jul 2016 08:06:21 -0700 (PDT)12MIME-Version: 1.013Received: by 10.107.48.17 with HTTP; Tue, 19 Jul 2016 08:06:21 -0700 (PDT)14From: Sender Name <example@example.com>15Date: Tue, 19 Jul 2016 09:06:21 -060016Message-ID: <CAN_P_JNa25--hzm5=-ES9cnxgWa+h+E49OOAS7sPpV0gsoXCOw@mail.gmail.com>17Subject: Hello18To: example@example.com19Content-Type: multipart/mixed; boundary=001a11447dc881e40f0537fe6d5a2021--001a11447dc881e40f0537fe6d5a22Content-Type: multipart/alternative; boundary=001a11447dc881e40b0537fe6d582324--001a11447dc881e40b0537fe6d5825Content-Type: text/plain; charset=UTF-82627This is a test email with 1 attachment.2829--001a11447dc881e40b0537fe6d5830Content-Type: text/html; charset=UTF-831Content-Transfer-Encoding: quoted-printable3233<div dir=3D"ltr">This is a test email with 1 attachment.<br clear=3D"all"><=34div> </div>-- <div class=3D"gmail_signature" data-smartmail=3D"gmail=35_signature"><div dir=3D"ltr"><img src=3D"https://sendgrid.com/brand/sg-logo=36-email.png" width=3D"96" height=3D"17"> <div> </div></div></div>37</div>3839--001a11447dc881e40b0537fe6d58--4041--001a11447dc881e40f0537fe6d5a42Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document;43name="DockMcWordface.docx"44Content-Disposition: attachment; filename="DockMcWordface.docx"45Content-Transfer-Encoding: base6446X-Attachment-Id: f_iqtleujy04748UEsDBBQACAgIAHc+80gAAAAAAAAAAAAAAAASAAAAd29yZC9udW1iZXJpbmcu49eG1spZJBboMwEEVP0Dsg7xNIF1WFQrNo1G66a3uAiTFgxfZYYwPN7euEAC2V50KkpXCMb//e/hb3cfWkWNICfRZGyzTlgkDMdcmjJj729Pq3sWOQ8mB4VGZOwk51HNs93Gzb1NT6ICiciwLCuFTzjFXe2zSOHa+EBrdGK0wYFkgafHilMtZAx9qu52OGoLXh6kkv4U3ybJHbtiMGM1mfSKWGnJCR0W/ixJsSgkF9dHr6A5vp1kj7zW53wviLY0xChQxoXCWt62l6KS0Mqx7S/HaJRqv+XGvnuOUEbdizVp1Ri5RbQi6c54C1/33XAgbpIZCzwjBsWcCN89+yQapBkw53ZMQIP3Onhfl3ZBjRcZd+HUnCDd556EUeCOj0MwUs2OdXvZWzWjwhBJWvaSjkEgSvgHwPUEsICvlR5I9gGhjKnJez566jwh5RJKAj2W1P3pz26SSV1eK7BipJX/oz0T1pbFD59QSwcIJ5yx3VgBAAC757BAAAUEsDBBQACAgIAHc+80gAAAAAAAAAAAAAAAARAAAAd29yZC9zZXR0aW5n58cy54bWyllMFuozAQhp9g3wH5nkCqardCJZXaqnvZPaV9gIltwIrtscYGNm+/59JgTYZqWKpieMx/P94/GvuX/4Y3TSSvIKbcE264wl0nIUylYFe3t9Wd2xxAew60AjRaWbCj9Oxh++2+y70MIZ7ySSRYnxtesDoEl6ep57U04NfopI3BEslAiL9U61pQbo0LgVR+MgqL3SKhzTmyz7zs4YLFhDNj8jVkZxQo9l6FNyLEvF5fkzZtAS623SHlGXljpA0nxZSkjjWg9bVyfqSZa2kxWI+Q9qNLtEaP5zq3RE0QdLHRRg9C63HZJwhFx6H3efh+BE3GQLGtgjpowlJbzXHCsxoOyE6c1xAZq011H73LQTar7I643AuvlxQyhH6pPQEd/68Crujnv/lOLXLxBSFmhYYmQ16D4DVQGAH6GoJGfpDi65CWwLk5lFtcjOFyShoCIws0n9p152k13YZVeDkzOt+hrtJ2Hj2DYOIKG803B866BH6o4qYVJ6Gky1uIXtqw9HRIltDo8Ar7XUA3Bn/cZEN4GETzajcMtQlyy+LS67gonmfjezfqOQfaghtfw6vWQ6a6bzDN3+BVBLBwiI6qJIqQEAAIgFAABQSwME68FAAICAgAdz7zSAAAAAAAAAAAAAAAABIAAAB3b3JkL2ZvbnRUYWJsZS54bWyl69lE1OwzAQhU/AHSLv26QsEIqaVogKNuyAA0wdJ7Fqe6yxk9Db4zZ/UCQUysqK70J+974/GT19sPraJGkJNoMrZaJiwShmMuTZmx97enxT2LnAeTg0IjMnYUjm0371N+s2LdB4FwW5canmGau8t2kcO14JDW6JVphQLJA0+PBJZayBDrVdcNQWvNxL72Jf0xvk2SO9ZjMGM1mbRHLLTkhA4Lf5KkWBSSi34ZFDTHt5PskNdaGH92jEmo730AMaV0nrBpq+lhaK1QBpfjtEo9XwX2vnuOUEbbgLrTqjFim3hFw4F3Z3XXEk74rpIZAzwhRsWcFr57Dp1okGbEnJJxARq9l8G7H9oZNR1kmoVTcxrpSi9yT0DH75n13AFfP8qrdyVoovCEHlaxoDeQ2CV0B+AKhrCAr5QeSPYBoYw5yXs+J8Qcol76lAR6Cqn7082ukou4vFZgxUQr/0d7Jqwt2/SvT9SmBnSI3gNJUCzerOP+Wdp877AlBLBwhpMWDsagEAANgEAABQSwMEFAAICAgAdz7zSAAAAAAAAAAAAAAAAA8A78AAB3b3JkL3N0eWxlcy54bWzdV+1u2jAUfYK9A8r/NiEEhlBphai6Taq6ae0e79wDgO8XBsy3ag7OlnJ04CCZkyoKMa/Eh8r++518fHH7m5e01Ib42ExIxOnf61805/QQhSzEdDl1frw8XI2dnlSAhoAwiqbOFknn7vbDzWYi1ZYg2dPxVE4SOHVi81pfjEdSWMUQLkNeOIamfERAKUboqlmwCxSvkVZAkHCi8wwWrr+p43ciwMmzqp82oBMLcZVgKJhkkTIhExZFGCL7KCJEl7x5yD2DaYKoyjK6AhFdA6MyxlwWaMmx83aNoZFyDrPw1inZCi34Z3yRYKsNGTkZA80YaJkAsGkZTaep87S8S+14FAA1FG84dClhP2dRSQIwLWGMNGpAZe5rnduSlkFVA6m4kKRLIbnrES8EENtmFeAIPnfj85Oe6k4hqCjlKpKAV5DASMgVAFADkGgTC4QuEc0DUoxRwuO8m5hhRisBQgqUQq86/2pm+15NLs8x4KhCW56G9kmwlDu3evsJGbxHEUiJkqYpvgnbtK3s8cCokr3N87BEiI8dSZCQy05DYTKHcaCEg1kxjsmOIZlWV/10AttHUNtEq9vI1rbZkAQuaA88y7pdCbxCNSNkhInSlv1s71+F1fcLy1zWbWlhoHpLzk16B1czgpe0cC2ARATn89btcS4tZp4vWWeawQ4k/oVdVqNuZHDVgf4AaHbDPXPAtGClff1s4B1HNm+I8U90EiZEvy+QVh+yDVOiHtjHUdH4nhJtAKlilmcaGg+KlI0QeBkX7xEWUj1mELaa91n7CowYTYwXM7+N3hug0FZeeZjlZbrvE4EGYd8NjkyVxfwqnzZNZNppAwjzRj92NcEUJKialaxTnjsLbcIrsCBoD/rFWDrhZz17Tx2yHB7EZwTM8d4EjnNHz06f93kVD4tVRUlVBH7ehj194ioX6LhNp00vf3lBJ4Xps8oBaeTpQC8lyCVNBuWZHd94EKr1FXjN9ZXbdlbLMbT6rbT674zWwehctNY3x4rmwYFtLLedSPOglebBpWke9577PsvxXLe6dIMDD/xikyPnCKjM9Af9BKf/C+6PfH56J/j+5R9mvQHRygOzgD963cNWuofvjO7gX9Ldekc6ke5RK92j/5VuXEt8EfpfsNK3osZ9J7NemPfR4bvr972e4jwwNkDk8i8zldqIN8lo4LUzrw34TTM3701T/yOiyKwYF75aDlXlm8ydvf98UEsHCCJgqpxzAwAAhxMAAFBLAwQUAAgICAB3PvNIAAAAAAAAAAAAAAAAEQAA99AHdvcmQvZG9jdW1lbnQueG1spZXfbtsgFMafYO8QcZ/YibKpsur0YlF3s01R1002z0AAWyjAAcdcNLs6Qf+2yVV5WW+QZzD+X2f4QjuH161mh0FOgkmJ8tFSmbC101MODSlDn59fI4vyMz56nhVIEROTkLRx42n+5PGQdWa2H8LBCMyzTLSeW9zZLE102sUpo6hZghQnJAlBTH6ZYJpriobZzBtpSL/dSSX9OVmn6hXQYyEmNJusQcy0Z103goPCx5IMikIy0Q19BU7RbUu2neVGMUGhggcwrpLW9TR9Ky0kqx5y/Ognjlr11046052ihpHegrHoVUrdALkFoEJ50J02yYH4jKdsIERMVRMsfC3Zu9EU2kGTGyO105C9CgvQja3aY1qPFHxr1waoqRNvVd7pHi+doFvWE/39ZbOamLLwihytc4NOQt106CFZR9D1A3UJQwA6Cf6XmSIdm5uWkdr4gcUlLpHpsUvdPJ7tML9rluaJWjLTy107/2jfEGpLNuEC2lN2KMPM8NkpY6Ag3ASPzUeSJg/8HEcb0uF+4085SbuPdKGt108UNfB3XXoaSsKWiv/TmaHb4KN3A7jwMB48eprqp4tZcF4KDjSKBfdJcM6/MjK109O5avBbEDeXUp0WTi2ArGVU4w36635fPvUFCFW//z3brhh7tguVqt03b/bPmD110Rnd78B5CIy3X7SoPdpwoUfhxhrKs+mnH+Fnrl7MVIRmeEYzJzlzvJOlPKhnf111lM0fUEsHCOH0LWYNAgAAmAYAAFBLAwQUAAgICAB3PvNIAAAAAAAAAAAAAAAA112HAAAAHdvcmQvX3JlbHMvZG9jdW1lbnQueG1sLnJlbHOtkktqAzEMhk/QOxjt113O54kpZQSTzYlkG2ZHsCZ0TyILRtLKZ3b1xTyghC6mKV+o0+fkNebH+/UNyYe114AxlYFCUopCa0I/UGvurt8xsoFkutdYHQwIQMm+pp/YnOSu7hYYysMoTYwCAS11537XmZkBvuQgRKb90IXkruUy9jrY52B71sixfdbpmQHXDVLvWQNq1C1D1FPE/1167NB1Y4MfoTl6JLkzQjOK5MU4M23qUQyckiKzQN9XWM6p0AWS2u4dXhzO0SOJ1171ZwSdPR7THnvi8Q5eiTxMusxZHJ4fYq/+jRe33yw6hdQSwcIY4WdHeEAAACo118AgAAUEsDBBQACAgIAHc+80gAAAAAAAAAAAAAAAALAAAAX3JlbHMvLnJlbHON119zzsOwjAMBuATcIfIO03LgBBq0gUhdUXlAFHiphHNQ0l49PZkYADEwGj792e51207R52JjeMyXjHoKlqIOikV8ZpBufhuN4BSVk4JWbvkMGCCTq+ak84i1x20mRC121IgVxicGUc9hTmuSEVqTKB3RlMvpoRS5l1DQIeREa6aautzS+G8A/TNIrBrFX122DZBhCfiP7cfRSDx4ebXo8o8TX4kii6gxM7j7qKh6tavCAuUt/XiRPwFQSwcI123LWjPIrEAAAAqAQAAUEsDBBQACAgIAHc+80gAAAAAAAAAAAAAAAATAAAAW0Nv124bnRlbnRfVHlwZXNdLnhtbLWTTU7DMBCFT8AdIm9R4sICIdS0C36WwKIcYOpM125Wgv/yTMp7e2ZtCGLqkiwyM7jN/Pe55E8X+69K3aYycZQq5tqpgoMJjY2bGr1126sXop71VBDKEBFwPW6oCklour+eqQkAoZDlSrLXN60JrMFj1QFRMGUdqYPbCU127eaMTmE/YoL6dze60iYExcMm9h1rMn7CFznHxeLrvrWsFKTlrgIVLi5kqnvci128njD7Wv9hbheaM5hyAKkyumMPbW2i6/MAUalPeJPNZNvgvyJi21qDTTSdl5Hq129K+Ym5WiQSJbqXUXILKch9R0yv4IXW9136h+1Gh45DQIfHP4GcNQmjW/FawVr130h5cJRnlSiND5NWY5X4YY5UkhRsWDDZdBxpaBQx+/3uIbUEsHCAD+7s4fAQAA131ugMAAFBLAQIUABQACAgIAHc+80gnnLHdWAEAALsEAAASAAAAAAAAAAAAAAAA132AAAAAAB3b3JkL251bWJlcmluZy54bWxQSwECFAAUAAgICAB3PvNIiOqiSKkB133AACIBQAAEQAAAAAAAAAAAAAAAACYAQAAd29yZC9zZXR0aW5ncy54bWxQSwEC134FAAUAAgICAB3PvNIaTFg7GoBAADYBAAAEgAAAAAAAAAAAAAAAACAAwAAd29y135ZC9mb250VGFibGUueG1sUEsBAhQAFAAICAgAdz7zSCJgqpxzAwAAhxMAAA8A136AAAAAAAAAAAAAAAAKgUAAHdvcmQvc3R5bGVzLnhtbFBLAQIUABQACAgIAHc+13780jh9C1mDQIAAJgGAAARAAAAAAAAAAAAAAAAANoIAAB3b3JkL2RvY3VtZW50138LnhtbFBLAQIUABQACAgIAHc+80hjhZ0d4QAAAKgCAAAcAAAAAAAAAAAAAAAA139ACYLAAB3b3JkL19yZWxzL2RvY3VtZW50LnhtbC5yZWxzUEsBAhQAFAAICAgA140dz7zSC1ozyKxAAAAKgEAAAsAAAAAAAAAAAAAAAAAUQwAAF9yZWxzLy5yZWxz141UEsBAhQAFAAICAgAdz7zSAD+7s4fAQAAugMAABMAAAAAAAAAAAAAAAAAOw0A142AFtDb250ZW50X1R5cGVzXS54bWxQSwUGAAAAAAgACAD/AQAAmw4AAAAA143144--001a11447dc881e40f0537fe6d5a--145"146["to"]=>147string(22) "example@example.com"148["from"]=>149string(33) "Sender Name <example@example.com>"150["sender_ip"]=>151string(13) "209.85.214.45"152["spam_report"]=>153string(798) "Spam detection software, running on the system "mx0032p1mdw1.sendgrid.net", has154identified this incoming email as possible spam. The original message155has been attached to this so you can view it (if it isn't spam) or label156similar future email. If you have any questions, see157@@CONTACT_ADDRESS@@ for details.158159Content preview: This is a test email with 1 attachment.160Content analysis details: (0.4 points, 5.0 required)161162pts rule name description163---- ---------------------- --------------------------------------------------1640.0 HTML_MESSAGE BODY: HTML included in message1650.3 HTML_IMAGE_ONLY_04 BODY: HTML: images with 0-400 bytes of words1660.0 T_MIME_NO_TEXT No text body parts167168"169["envelope"]=>170string(73) "{"to":["example@example.com"],"from":"example@example.com"}"171["subject"]=>172string(5) "Hello"173["spam_score"]=>174string(5) "0.353"175["charsets"]=>176string(47) "{"to":"UTF-8","subject":"UTF-8","from":"UTF-8"}"177["SPF"]=>178string(4) "pass"179}
SendGrid provides statistics of how many emails are parsed over time. You can specify what is displayed on the graph by adjusting the statistics filters.
For more information, please see Parse Webhook Stats.