Parse raw email chains and email signatures from either HTML or plain text emails. Multiple languages supported.
Signup for a free account at https://www.sigparser.com/ to get an API key.
What can it find? SigParser tries to parse raw emails and pull out everything interesting. SigParser will split the emails on the email headers generated by various email clients and provide a collection of emails as text and also the raw HTML lines if the email was HTML. Additionally, it will discover signatures of email senders in the email chain bodies and provide details about the person such as title, phone numbers, fax, address and more.
How do I use this? Create an instance of SigParser.Client class and pass it the API key or set the API key property. Then call the Parse(email) async method. For the email object, you need to provide either the HTML or Plain text body or both. If you provide both SigParser will prefer HTML first and if blank then plaintext. For signature parsing it is important to provide the display name “from_name” (first and last name) of the sender which you almost always get for emails. The from_address is also good to provide.
See below for a code example.
Why use an API vs just embedding the parsing logic in the library? Over time email signature patterns change and email clients change their headers. For example, in 2014 Gmail started using a massively different header for about two months. Instead of making you update your code every week or month, calling an API lets you get the latest algorithm changes without having to update your code.
Is SigParser storing my emails? No, SigParser doesn’t store emails you send to it via this package. We receive the payload, process it and return the response.
var client = new SigParser.Client(ApiKey);
var result = client.Parse(new SigParser.EmailParseRequest
plainbody = @"
Lets get coffee tomorrow.
San Diego, CA
from_name = "Steve Johnson",
from_address = "firstname.lastname@example.org"