Parsing multipart/form-data from SendGrid inbound mail parse
Comments
-
Hey Michael, sorry been quite busy lately.
The codeshare link doesn't work for me (not getting a valid json object). I've quickly checked the json you posted earlier and the "data" string (right after "body: {size: 3895" seems to be a base64 version of your email. This is the value that i'd input in the mailparser lambda :)
-
Hey @Future , thanks for that, super appreciated.
When I get an email from GMAIL, the response looks like the following, how would you incorporate that into your snippet?
response: {headers: [HTTP/2 200,
content-type: application/json; charset=UTF-8,
vary: Origin,
vary: X-Origin,
vary: Referer,
content-encoding: gzip,
date: Fri, 30 Dec 2022 13:16:19 GMT,
server: ESF,
cache-control: private,
content-length: 21261,
... +3 more
],
result: {id: 184151ae8cbebbb5,
threadId: 184151ae8cbebbb5,
labelIds: [UNREAD,
CATEGORY_UPDATES,
INBOX
],
snippet: Book a free 1:1 consultation with a Google Ads expert. Get started with a free 1:1 consultation - call 1 844 229 22111 844 229 2211 † to speak with a Google Ads expert. Here's $500 to grow your,
payload: {partId: ,
mimeType: multipart/alternative,
filename: ,
headers: [{name: Delivered-To,
value: michael@junglebee.io
},
{name: Received,
value: by 2002:aa6:d9a1:0:b0:22a:b395:493e with SMTP id bt1csp488244lkb; Wed, 26 Oct 2022 09:23:16 -0700 (PDT)
},
{name: X-Received,
value: by 2002:a9d:30d8:0:b0:66b:3596:9639 with SMTP id r24-20020a9d30d8000000b0066b35969639mr74654otg.363.1666801395996; Wed, 26 Oct 2022 09:23:15 -0700 (PDT)
},
{name: ARC-Seal,
value: i=1; a=rsa-sha256; t=1666801395; cv=none; d=google.com; s=arc-20160816; b=zm/xjojLATowUPXM/gysNdG/vtcnMWOQ/6BgFcZf7+Z//lnUMOyzvLN6tFy6xFjupH p5P7K5lkdJYpaml6caEw87WAGL0B3tQABhNbR4Zpud8BY0n90bL5q5hXAqK8F9GDljG+ Kg5sfT+s7skoQAHi7ZBojBnlgsZVBp/XC5k6YO2autO0Kn4G9fpHyAVfwuYUUjOXEEzb NcQcTnvbGwjbTqynYy/hHwLpKjYS0vIEhILRjgZ+BK/Djdnc8T0PGF3iU0Qe3E+Lq0wz bgzs7QW7ol5jVCU0KT9xfezAd/NojXHFNn6/I7AxAg8kGw0DHyMzcwcLd2LXla3FcAnX 3pyQ==
},
{name: ARC-Message-Signature,
value: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=to:from:subject:message-id:list-id:feedback-id:list-unsubscribe :precedence:reply-to:date:mime-version:dkim-signature; bh=IKlTzU6IiW4I0qlHIjj/la7++4CkyvvgGgfDQvH3PRc=;
},
{name: ARC-Authentication-Results,
value: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=PO261VKX; spf=pass (google.com: domain of 3815zyxekbzgqilemjuwy-hilyjfsaiiafy.wiggcwbuyfdohafyvyy.ci@scoutcamp.bounces.google.com designates 209.85.220.69 as permitted sender) smtp.mailfrom=3815ZYxEKBzgqilemjUWY-hilYjfsaiiafY.WiggcWbUYfdohafYVYY.ci@scoutcamp.bounces.google.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com
},
{name: Return-Path,
value: <3815ZYxEKBzgqilemjUWY-hilYjfsaiiafY.WiggcWbUYfdohafYVYY.ci@scoutcamp.bounces.google.com>
},
{name: Received,
value: from mail-sor-f69.google.com (mail-sor-f69.google.com. [209.85.220.69]) by mx.google.com with SMTPS id r63-20020aca4442000000b00357646319fesor1781862oia.126.2022.10.26.09.23.15 for <michael@junglebee.io> (Google Transport Security); Wed, 26 Oct 2022 09:23:15 -0700 (PDT)
},
{name: Received-SPF,
value: pass (google.com: domain of 3815zyxekbzgqilemjuwy-hilyjfsaiiafy.wiggcwbuyfdohafyvyy.ci@scoutcamp.bounces.google.com designates 209.85.220.69 as permitted sender) client-ip=209.85.220.69;
},
{name: Authentication-Results,
value: mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=PO261VKX; spf=pass (google.com: domain of 3815zyxekbzgqilemjuwy-hilyjfsaiiafy.wiggcwbuyfdohafyvyy.ci@scoutcamp.bounces.google.com designates 209.85.220.69 as permitted sender) smtp.mailfrom=3815ZYxEKBzgqilemjUWY-hilYjfsaiiafY.WiggcWbUYfdohafYVYY.ci@scoutcamp.bounces.google.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com
},
... +20 more
],
body: {size: 0
},
parts: [{partId: 0,
mimeType: text/plain,
filename: ,
headers: [{name: Content-Type,
value: text/plain; charset="UTF-8"; format=flowed; delsp=yes
},
{name: Content-Transfer-Encoding,
value: base64
}
],
body: {size: 3895,
data: R2V0IHN0YXJ0ZWQgd2l0aCBhIGZyZWUgMToxIGNvbnN1bHRhdGlvbiAtIGNhbGwgMSA4NDQgMjI5IDIyMTHigKAgdG8gc3BlYWsgIA0Kd2l0aCBhIEdvb2dsZSBBZHMgZXhwZXJ0Lg0KDQpIZXJlJ3MgJDUwMCB0byBncm93IHlvdXIgYnVzaW5lc3Mgd2l0aCBHb29nbGUgQWRzDQoNCllvdSdyZSBvZmYgdG8gYSBncmVhdCBzdGFydCB3aXRoIEdvb2dsZSBXb3Jrc3BhY2UuIE5vdyBleHBhbmQgeW91ciByZWFjaCwgIA0KYm9vc3QgeW91ciBzYWxlcywgb3IgYnVpbGQgYXdhcmVuZXNzIHdpdGggR29vZ2xlIEFkcyB0byBnZXQgdGhlIG1vc3QgZnJvbSAgDQp5b3VyIEdvb2dsZSBjbG91ZCBhY2NvdW50LiBFbmpveSAkNTAwIGluIEdvb2dsZSBBZHMgY3JlZGl0IHdoZW4geW91IHNwZW5kICANCiQ1MDAuKiBKdXN0IGFwcGx5IHlvdXIgY29kZSA0QUdIQy1DWFVEQy1MTTZVIHVudGlsIERlY2VtYmVyIDMxLCAyMDIyLg0KDQpSZWRlZW0geW91ciBjcmVkaXQgIA0KPGh0dHBzOi8vbm90aWZpY2F0aW9ucy5nb29nbGUuY29tL2cvcC9BS1dvTFFqTzB3a1IzeXNud3pTOWdtOTA5bks0aTJrNnlZa0l1Rk9Zb0VaNW5ieFJtTXJsUWVUNEtpUmFSVXIyMWtjNGdMa2Y1NnJBY1p3MHU4Z2Ywck0wS1hGVGJQQThWVDViQ0dELVk1c0tG
}
},
{partId: 1,
mimeType: text/html,
filename: ,
headers: [{name: Content-Type,
value: text/html; charset="UTF-8"
},
{name: Content-Transfer-Encoding,
value: quoted-printable
}
],
body: {size: 44979,
data: PCFkb2N0eXBlIGh0bWwgcHVibGljICItIC8gL3czYyAvIC9kdGQgeGh0bWwgMS4wIHRyYW5zaXRpb25hbCAvIC9lbiIgImh0dHA6IC8gL3d3dy53My5vcmcgL3RyIC94aHRtbDEgL2R0ZCAveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9aHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCB4bWxuczp2PXVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206dm1sIHN0eWxlPSItd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IiBsYW5nPWVuPg0KPHRpdGxlPlJlYWNoIG5ldyBjdXN0b21lcnM8L3RpdGxlPg0KPGhlYWQ-DQo8bWV0YSBodHRwLWVxdWl2PUNvbnRlbnQtVHlwZSBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiPg
-
Hey @Future , thanks for that, super appreciated.
When I get an email from GMAIL, the response looks like the following, how would you incorporate that into your snippet?
response: {headers: [HTTP/2 200,
content-type: application/json; charset=UTF-8,
vary: Origin,
vary: X-Origin,
vary: Referer,
content-encoding: gzip,
date: Fri, 30 Dec 2022 13:16:19 GMT,
server: ESF,
cache-control: private,
content-length: 21261,
... +3 more
],
result: {id: 184151ae8cbebbb5,
threadId: 184151ae8cbebbb5,
labelIds: [UNREAD,
CATEGORY_UPDATES,
INBOX
],
snippet: Book a free 1:1 consultation with a Google Ads expert. Get started with a free 1:1 consultation - call 1 844 229 22111 844 229 2211 † to speak with a Google Ads expert. Here's $500 to grow your,
payload: {partId: ,
mimeType: multipart/alternative,
filename: ,
headers: [{name: Delivered-To,
value: michael@junglebee.io
},
{name: Received,
value: by 2002:aa6:d9a1:0:b0:22a:b395:493e with SMTP id bt1csp488244lkb; Wed, 26 Oct 2022 09:23:16 -0700 (PDT)
},
{name: X-Received,
value: by 2002:a9d:30d8:0:b0:66b:3596:9639 with SMTP id r24-20020a9d30d8000000b0066b35969639mr74654otg.363.1666801395996; Wed, 26 Oct 2022 09:23:15 -0700 (PDT)
},
{name: ARC-Seal,
value: i=1; a=rsa-sha256; t=1666801395; cv=none; d=google.com; s=arc-20160816; b=zm/xjojLATowUPXM/gysNdG/vtcnMWOQ/6BgFcZf7+Z//lnUMOyzvLN6tFy6xFjupH p5P7K5lkdJYpaml6caEw87WAGL0B3tQABhNbR4Zpud8BY0n90bL5q5hXAqK8F9GDljG+ Kg5sfT+s7skoQAHi7ZBojBnlgsZVBp/XC5k6YO2autO0Kn4G9fpHyAVfwuYUUjOXEEzb NcQcTnvbGwjbTqynYy/hHwLpKjYS0vIEhILRjgZ+BK/Djdnc8T0PGF3iU0Qe3E+Lq0wz bgzs7QW7ol5jVCU0KT9xfezAd/NojXHFNn6/I7AxAg8kGw0DHyMzcwcLd2LXla3FcAnX 3pyQ==
},
{name: ARC-Message-Signature,
value: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=to:from:subject:message-id:list-id:feedback-id:list-unsubscribe :precedence:reply-to:date:mime-version:dkim-signature; bh=IKlTzU6IiW4I0qlHIjj/la7++4CkyvvgGgfDQvH3PRc=;
},
{name: ARC-Authentication-Results,
value: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=PO261VKX; spf=pass (google.com: domain of 3815zyxekbzgqilemjuwy-hilyjfsaiiafy.wiggcwbuyfdohafyvyy.ci@scoutcamp.bounces.google.com designates 209.85.220.69 as permitted sender) smtp.mailfrom=3815ZYxEKBzgqilemjUWY-hilYjfsaiiafY.WiggcWbUYfdohafYVYY.ci@scoutcamp.bounces.google.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com
},
{name: Return-Path,
value: <3815ZYxEKBzgqilemjUWY-hilYjfsaiiafY.WiggcWbUYfdohafYVYY.ci@scoutcamp.bounces.google.com>
},
{name: Received,
value: from mail-sor-f69.google.com (mail-sor-f69.google.com. [209.85.220.69]) by mx.google.com with SMTPS id r63-20020aca4442000000b00357646319fesor1781862oia.126.2022.10.26.09.23.15 for <michael@junglebee.io> (Google Transport Security); Wed, 26 Oct 2022 09:23:15 -0700 (PDT)
},
{name: Received-SPF,
value: pass (google.com: domain of 3815zyxekbzgqilemjuwy-hilyjfsaiiafy.wiggcwbuyfdohafyvyy.ci@scoutcamp.bounces.google.com designates 209.85.220.69 as permitted sender) client-ip=209.85.220.69;
},
{name: Authentication-Results,
value: mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=PO261VKX; spf=pass (google.com: domain of 3815zyxekbzgqilemjuwy-hilyjfsaiiafy.wiggcwbuyfdohafyvyy.ci@scoutcamp.bounces.google.com designates 209.85.220.69 as permitted sender) smtp.mailfrom=3815ZYxEKBzgqilemjUWY-hilYjfsaiiafY.WiggcWbUYfdohafYVYY.ci@scoutcamp.bounces.google.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com
},
... +20 more
],
body: {size: 0
},
parts: [{partId: 0,
mimeType: text/plain,
filename: ,
headers: [{name: Content-Type,
value: text/plain; charset="UTF-8"; format=flowed; delsp=yes
},
{name: Content-Transfer-Encoding,
value: base64
}
],
body: {size: 3895,
data: R2V0IHN0YXJ0ZWQgd2l0aCBhIGZyZWUgMToxIGNvbnN1bHRhdGlvbiAtIGNhbGwgMSA4NDQgMjI5IDIyMTHigKAgdG8gc3BlYWsgIA0Kd2l0aCBhIEdvb2dsZSBBZHMgZXhwZXJ0Lg0KDQpIZXJlJ3MgJDUwMCB0byBncm93IHlvdXIgYnVzaW5lc3Mgd2l0aCBHb29nbGUgQWRzDQoNCllvdSdyZSBvZmYgdG8gYSBncmVhdCBzdGFydCB3aXRoIEdvb2dsZSBXb3Jrc3BhY2UuIE5vdyBleHBhbmQgeW91ciByZWFjaCwgIA0KYm9vc3QgeW91ciBzYWxlcywgb3IgYnVpbGQgYXdhcmVuZXNzIHdpdGggR29vZ2xlIEFkcyB0byBnZXQgdGhlIG1vc3QgZnJvbSAgDQp5b3VyIEdvb2dsZSBjbG91ZCBhY2NvdW50LiBFbmpveSAkNTAwIGluIEdvb2dsZSBBZHMgY3JlZGl0IHdoZW4geW91IHNwZW5kICANCiQ1MDAuKiBKdXN0IGFwcGx5IHlvdXIgY29kZSA0QUdIQy1DWFVEQy1MTTZVIHVudGlsIERlY2VtYmVyIDMxLCAyMDIyLg0KDQpSZWRlZW0geW91ciBjcmVkaXQgIA0KPGh0dHBzOi8vbm90aWZpY2F0aW9ucy5nb29nbGUuY29tL2cvcC9BS1dvTFFqTzB3a1IzeXNud3pTOWdtOTA5bks0aTJrNnlZa0l1Rk9Zb0VaNW5ieFJtTXJsUWVUNEtpUmFSVXIyMWtjNGdMa2Y1NnJBY1p3MHU4Z2Ywck0wS1hGVGJQQThWVDViQ0dELVk1c0tG
}
},
{partId: 1,
mimeType: text/html,
filename: ,
headers: [{name: Content-Type,
value: text/html; charset="UTF-8"
},
{name: Content-Transfer-Encoding,
value: quoted-printable
}
],
body: {size: 44979,
data: PCFkb2N0eXBlIGh0bWwgcHVibGljICItIC8gL3czYyAvIC9kdGQgeGh0bWwgMS4wIHRyYW5zaXRpb25hbCAvIC9lbiIgImh0dHA6IC8gL3d3dy53My5vcmcgL3RyIC94aHRtbDEgL2R0ZCAveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9aHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCB4bWxuczp2PXVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206dm1sIHN0eWxlPSItd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IiBsYW5nPWVuPg0KPHRpdGxlPlJlYWNoIG5ldyBjdXN0b21lcnM8L3RpdGxlPg0KPGhlYWQ-DQo8bWV0YSBodHRwLWVxdWl2PUNvbnRlbnQtVHlwZSBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiPg
Categories
- All Categories
- 53 ? Announcements
- 47 ? Releases
- 37 ? Welcome
- 983 ? Help! I'm a Noob
- 125 ? No-Code Front-Ends
- 633 ? Working with APIs
- 439 ? Transforming data
- 126 ? Connect Xano to ...
- 50 ?? Find an Expert
- 348 ❓Other questions
- 35 ? Security
- 22 ✂️ Snippets
- 19 ? Showcase
- 7 ?️ Xano Chatter
- 62 ? Video Tutorials
- 171 ? Request a feature
- 229 ? Report a Bug
- 19 ? Templates & Extensions
- 7 ? Feedback