SigParser 2.0.0
See the version list below for details.
dotnet add package SigParser --version 2.0.0
NuGet\Install-Package SigParser -Version 2.0.0
<PackageReference Include="SigParser" Version="2.0.0" />
paket add SigParser --version 2.0.0
#r "nuget: SigParser, 2.0.0"
// Install SigParser as a Cake Addin #addin nuget:?package=SigParser&version=2.0.0 // Install SigParser as a Cake Tool #tool nuget:?package=SigParser&version=2.0.0
Parse email bodies, split email chains chains and email signatures from either HTML or plain text emails. Multiple languages supported.
Signup for a free API key at https://sigparser.com to get an API key and use the API with up to 1500 emails parses per month.
Code Example
var client = new SigParser.Client(ApiKey);
var result = client.ParseRawRequestAsync(new SigParser.EmailParseRequest
{
date = new DateTime(2017, 1, 1),
plainbody = @"
Hi Sally,
Thanks for the meeting the other day. It was greating seeing you. We should catchup sometime soon.
My phone number is 888-333-4233.
Thanks,
Jim Johnson
Senior Software Developer
SigParser Inc.
Cell 777-333-4233
333 Grand Ave, San Diego, CA 93233
https://sigparser.com
",
from_name = "Jim Johnson",
from_address = "jim.johnson@sigparser.com",
subject = "Here is a subject",
to = new SigParser.Recipient[] { new SigParser.Recipient { name = "Johnny To", emailAddress = "johnny.to@example.com" } },
cc = new SigParser.Recipient[] { new SigParser.Recipient { name = "Cathy Carbon", emailAddress = "cathy.carbon@example.com" } }
}).Result;
FAQ
What can it find?
SigParser tries to parse raw emails and pull out everything interesting.
- Split the emails on the email headers generated by various email clients
- Multiple languages supported
- Converts emails to plain text if originally HTML
- Converts each HTML section to HTML
- Capture email signatures from each email in an email body.
- Capture inline phone numbers (ie My phone is...)
- Capture job titles, addresses, Twitter, LinkedIn handles
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. We update the underlying API and algorithms weekly but the API contract shouldn't change and if it does, we're only adding functionality to it.
Can I run SigParser API in my data center?
Yes, but you need to contact us to discuss how to use it onsite and licensing requirements.
To set the URL of your local installation, set the SigParser.Client.BaseUrl to your URL before making any API requests.
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. Behind the scenes we use a Lambda function to drive the API so everything is ephemeral.
How do I pull the emails from the email server?
We have a variety of articles at our website on how to do this. It is too long to explain here. Checkout our website.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net46 is compatible. net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
3.0.15 | 395 | 2/8/2023 |
3.0.14 | 550 | 4/28/2022 |
3.0.13 | 342 | 12/30/2021 |
3.0.0 | 329 | 12/30/2021 |
2.0.5 | 61,328 | 6/16/2022 |
2.0.4 | 453 | 6/16/2022 |
2.0.3 | 443 | 6/16/2022 |
2.0.2 | 469 | 6/16/2022 |
2.0.1 | 6,985 | 12/15/2020 |
2.0.0 | 5,625 | 8/14/2019 |
1.0.15 | 1,548 | 8/6/2019 |
1.0.14 | 572 | 8/6/2019 |
1.0.13 | 560 | 8/6/2019 |
1.0.12 | 583 | 8/4/2019 |
1.0.11 | 561 | 8/2/2019 |
1.0.10 | 622 | 5/6/2019 |
1.0.9 | 606 | 4/2/2019 |
1.0.8 | 641 | 3/29/2019 |
1.0.7 | 610 | 3/9/2019 |
1.0.6 | 607 | 3/9/2019 |
1.0.5 | 923 | 8/3/2018 |
1.0.4 | 820 | 8/3/2018 |
1.0.3 | 881 | 8/3/2018 |
2.0.0 - Parse is no longer async and ParseAsync is the async version. Not everyone can use async.
1.0.15 - Fixed bug with deserializing emailTypes
1.0.14 - Added EmailTypes categories array so we can add more meta data to different email types.
1.0.13 - Accept "to" and "cc" fields as inputs which are returned for the first email. Useful to unify handling of contact data after sending emails to SigParser.
1.0.12 - Added addressParts (street, city, state, zip, country) fields when they're available
1.0.11 - Added nameSource and nameQuality
1.0.10 - Added new fields for website, companyname, cleanedBodyHTML, cleanedBodyPlain, emailAddressDomain, emailAddressDomainWithoutTLD. Added a performance optimization option when calling the API.
1.0.9 - Added "subject" to the emails collection response property. Added the ability to override the BaseURL for the API client for onsite installations of SigParser API.
1.0.7 - Improved description
1.0.6 - Added properties for cleanedemailbody,cleanedemailbody_ishtml,cleanedemailbody_plain, htmlBody, spammyLookingEmail and more descriptions on properties.