Skip to content


Repository files navigation


This is a demo of a simple contact form processing library (.NET Standard) (, deployed to, using Azure DevOps pipeline for CI/CD, then used in a web app + API ( (also available as Docker image at, Azure Function ( and AWS Lambda function (

The core functionality of sending notification emails and/or calling a webhook or REST API using HTTP POST is provided by ContactForm .NET Standard library, then used by all other projects.

ContactForm diagram

See a working example at using an Azure App Service deployment at Other deployments as Azure Function, Azure Container Instance and AWS Lambda function are not currently available, but can be deployed easily, as described in the docs of those projects.


There were a few challenges with this project, like:

  • Use .NET Standard 2.0 with older libraries for Newtonsoft.Json and Microsoft.Extensions.Logging.Abstractions so the library can be used with AWS Lambda, which is not yet using .NET Core 3.
  • Web app and API use the same endpoint ('/'), depending on the Content-Type HTTP header. Accept-Type is not actually used so the rule is very simple: if passing content type application/json you will get back a JSON object response, if passing application/x-www-form-urlencoded you wil get back text/html possibly with a redirect status code or OK status code (200).
  • Google reCAPTCHA is optional, but when used it checks version 2 with visible checkbox.


Contact form processing library which may send emails and/or POST data to webhook or REST API.







No releases published


No packages published