Skip to main content

Email Provider Settings

Endatix requires an email provider to send transactional emails, form submission notifications, and identity verification links (like password resets). Out of the box, the Endatix API supports SendGrid, Mailgun, and standard SMTP.

Configuration is managed via your appsettings.json file or environment variables under the Endatix:Integrations:Email section.


SendGrid

To use SendGrid as your email provider, you need to configure the SendGridSettings section. The Endatix API uses the official SendGrid APIs to deliver emails reliably.

Configuration Example

{
"Endatix": {
"Integrations": {
"Email": {
"SendGridSettings": {
"ApiKey": "SG.your_api_key_here",
"DefaultFromAddress": "noreply@yourdomain.com",
"DefaultFromName": "Endatix Notifications"
}
}
}
}
}

Properties

  • ApiKey (Required): Your SendGrid API key with "Mail Send" permissions.
  • DefaultFromAddress (Required): The verified sender email address configured in your SendGrid account.
  • DefaultFromName: The display name for the sender.

For implementation details, refer to SendGridSettings.cs.


Mailgun

To use Mailgun, configure the MailgunSettings section. This integration uses the Mailgun REST API.

Configuration Example

{
"Endatix": {
"Integrations": {
"Email": {
"MailgunSettings": {
"ApiKey": "key-your_mailgun_api_key",
"Domain": "mg.yourdomain.com",
"BaseUrl": "https://api.mailgun.net/v3",
"DefaultFromAddress": "noreply@mg.yourdomain.com",
"DefaultFromName": "Endatix Notifications"
}
}
}
}
}

Properties

  • ApiKey (Required): Your private Mailgun API key.
  • Domain (Required): The sending domain verified in your Mailgun account.
  • BaseUrl: The Mailgun API base URL. Use https://api.eu.mailgun.net/v3 if your domain is hosted in the EU region.
  • DefaultFromAddress (Required): The default sender email address.
  • DefaultFromName: The display name for the sender.

For implementation details, refer to MailgunSettings.cs.


SMTP

If you prefer to use a standard SMTP server (such as Amazon SES, Postmark, or a custom corporate mail server), Endatix provides an SmtpEmailSender implementation using MailKit, the open-source .NET SMTP/MIME library. This supports both STARTTLS (the traditional port 587 setup) and implicit TLS/SMTPS (typically port 465).

info

Not to be confused with mailkit.com, an unrelated email service provider — this is about the MailKit library, used here purely as the transport for your own SMTP server.

Configuration Example

{
"Endatix": {
"Integrations": {
"Email": {
"SmtpSettings": {
"Host": "smtp.example.com",
"Port": 587,
"EnableSsl": true,
"Username": "your_smtp_username",
"Password": "your_smtp_password",
"DefaultFromAddress": "noreply@yourdomain.com",
"DefaultFromName": "Endatix Notifications"
}
}
}
}
}

Properties

  • Host (Required): The SMTP server host name or IP address (e.g., localhost or smtp.mail.company.com).
  • Port: The SMTP server port number. Defaults to 587.
  • EnableSsl: Whether to enable transport security. Combined with Port to pick a SecurityMode automatically when SecurityMode is left at its default — see below. Defaults to true.
  • SecurityMode: Explicitly controls how the connection is secured, overriding the EnableSsl/Port heuristic. One of Auto (default), None, StartTls, StartTlsWhenAvailable, or SslOnConnect. Use SslOnConnect for implicit TLS/SMTPS servers (typically port 465) if auto-detection based on port doesn't fit your setup.
  • CheckCertificateRevocation: Whether to check the server's TLS certificate for revocation (OCSP/CRL) during the handshake. Defaults to false, since some networks block the endpoints this check needs, which would otherwise cause connections to fail. Set to true for stricter certificate validation if your network allows it.
  • Username: The username for SMTP authentication. If left empty, the connection is made without authentication (a warning is logged).
  • Password: The password for SMTP authentication.
  • DefaultFromAddress (Required): The default sender email address. Defaults to noreply@endatix.com.
  • DefaultFromName: The default sender display name. Defaults to Endatix.

For implementation details, refer to SmtpSettings.cs.

:::warning Upgrading from the .NET SmtpClient-based sender Earlier Endatix versions sent SMTP mail using .NET's built-in System.Net.Mail.SmtpClient, which Microsoft's own docs no longer recommend for new development. The MailKit-based sender is a drop-in replacement — no configuration changes are required for the common case of a Host/Port combination with username/password authentication over STARTTLS. Two behaviors changed:

  • Blank Username on Windows. Previously, leaving Username empty made SmtpClient authenticate using the Windows process identity (UseDefaultCredentials). MailKit has no equivalent, so a blank Username now always means an unauthenticated connection. This only matters if you relied on integrated Windows authentication with no explicit username — outside of that, an empty Username behaves the same as before.
  • Certificate revocation checking. Not checked previously; still not checked by default now (CheckCertificateRevocation defaults to false), but it's newly available as an opt-in for stricter validation. :::
info

For an overview of email providers and how to activate them in Endatix API see the Email Providers Guide.