Last active
August 14, 2018 23:06
-
-
Save PaulDMendoza/9931c5649695970b6cc8656413274dc1 to your computer and use it in GitHub Desktop.
SigParser Gmail Example
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Define parameters of request. | |
var request = service.Users.Messages.List("me"); | |
IList<Message> messages = request.Execute().Messages; | |
Console.WriteLine("Messages:"); | |
if (messages != null && messages.Count > 0) | |
{ | |
foreach (var message in messages) | |
{ | |
var messageReq = service.Users.Messages.Get("me", message.Id); | |
messageReq.Format = UsersResource.MessagesResource.GetRequest.FormatEnum.Full; | |
var m = messageReq.Execute(); | |
var html = DecodeBase64(m.Payload.Parts.FirstOrDefault(f => f.MimeType == "text/html")?.Body?.Data); | |
var plain = DecodeBase64( m.Payload.Parts.FirstOrDefault(f => f.MimeType == "text/plain")?.Body?.Data); | |
var fromHeader = m.Payload.Headers?.FirstOrDefault(f => f.Name == "From")?.Value; | |
var senderEmailMatch = System.Text.RegularExpressions.Regex.Match(fromHeader, "<(.+)>"); | |
var senderEmail = senderEmailMatch.Groups[1].Value; | |
var senderName = fromHeader.Substring(0, senderEmailMatch.Index); | |
var client = new SigParser.Client(sigParserApiKeyString); | |
var emailResult = client.Parse(new SigParser.EmailParseRequest | |
{ | |
from_address = senderEmail, | |
from_name = senderName, | |
htmlbody = html, | |
plainbody = plain | |
}).Result; | |
Console.WriteLine("Email"); | |
foreach(var c in emailResult.contacts) | |
{ | |
Console.WriteLine( | |
$@" | |
----------------------- | |
{c.firstName} {c.lastName} | |
Mobile: {c.mobilePhone} | |
Office: {c.officePhone} | |
Address: {c.address} | |
Email: {c.emailAddress} | |
LinkedIn: {c.linkedInUrl} | |
Twitter: {c.twitterUrl} | |
"); | |
} | |
Console.ReadLine(); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment