Email Parsing - Self Hosted Web Server Setup

Created by Paul Mendoza, Modified on Thu, 25 Aug 2022 at 02:52 PM by Paul Mendoza

We ship a small web server you can run. We suggest this if not using Lambda. You just run the executable and it hosts a web server with an API. You’ll find this in the SigParserEmailUtilsWebAPI-{platform}.zip file.

Configure License Key

Environment Variable

Create an environment variable called SigParserLicenseKey and the value should be your license key.

Machine Locked

Download a .skm file from Cryptolens if you need a machine locked key. You can get your machine key from the Swagger page when you run the web application and visit the URL in your browser.

Start Web Server

Run the SigParserEmailUtilsWebAPI executable which will start the web server. 

On Windows you’d run a command like

SigParserEmailUtilsWebAPI.exe --urls https://localhost:8080

On Linux you’d run a command like

SigParserEmailUtilsWebAPI --urls https://localhost:8080

Dockerfile example

There is a docker file included in the zip file. You can use this to generate a container. You might need to modify the file to fit your needs. 

Swagger API Documentation

If you go to the site you’ll see a swagger page detailing the API. You’ll also see your machine key.

System Requirements

RAM: 3GB Minimum

CPU: 2 core minimum

If you expect to send emails in parallel to the web endpoint for processing we suggest 1GB per and 1 core per request.

For example, if you expect to need to handle 10 concurrent requests you need 10 cores and 10GB of RAM. 

Configure Ports, HTTP, HTTPS settings

The easiest way to configure which port the web server listens on it so pass it via a command line argument via --urls or use the environment variable ASPNETCORE_URLS.

We use Kestrel ASP.NET Core web server. You can read more about configuring it

Long Running Process on Windows

The easiest way to setup the webserver is to use the Task Scheduler to start the web server every time the server starts up. 

  • In General configure the Security Options to “Run whether the user is logged on or not”
  • Create a Trigger to begin the task “At startup”
  • In Settings configure “If the task fails, restart every” and specify 1 or 2 minutes.

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select atleast one of the reasons

Feedback sent

We appreciate your effort and will try to fix the article