Using EA SMTP Server as IIS SMTP alternative on Windows Server - Tutorial

EA SMTP Server is an SMTP server that serves as a complete alternative to IIS SMTP Server. IIS SMTP server is retired and is no longer included in Windows Server 2025 and later versions. EA SMTP Server is designed as a replacement for IIS SMTP Server, providing a seamless transition for users who need to send and receive emails on Windows Server.

It supports multiple receive connectors and send connectors, allowing the use of different IP addresses and ports for receiving and sending emails via dedicated connectors.

Additionally, it includes built-in features that are missing in IIS SMTP Server, such as DKIM (DomainKeys Identified Mail), opportunistic TLS, message throttling, full-tracked message journaling, a queue viewer, and customizable routing rules.

EA SMTP Server Architecture

The following diagram illustrates the relationships between the core components of EA SMTP Server. Below is a detailed breakdown of each component:

EA SMTP Server Architecture
  • Receive Connector: Accepts inbound SMTP connections and email messages destined for the local EA SMTP Server.
  • Send Connector: Establishes outbound SMTP connections and relays email messages to remote SMTP servers.
  • Submission Queue: Temporarily stores inbound email messages before they are processed.
  • Categorizer: Categorizes email messages and routes them to either the delivery queue or a local drop folder..
  • Delivery Queue: Temporarily stores outbound email messages before they are sent to remote servers.
  • DKIM Signer: Adds a DKIM signature to outgoing email messages for authentication.
  • Pickup Folder: Picks up RFC 822-compliant email files and sends them to the submission queue..
  • Accepted Domains: Controls which domains and recipients the server will accept emails for.
  • User DB: Stores user information; only authenticated users can relay messages through the local EA SMTP Server.
  • Throttling Control: Control connection rates and message throughput to prevent server overload.
  • Journal: Collects and stores email logs in a local database for auditing and troubleshooting.

Installation

Follow these steps to install and set up EA SMTP Server on your Windows Server:

  • Download the EA SMTP Server Installer from the official source.
  • Double-click the installer file to launch the automatic installation process. Note that the installer requires .NET Framework 4.5 or later to be pre-installed on the server.
  • After installation completes, access the EA SMTP Server Manager by navigating to Windows Start Menu > All Programs > EA SMTP Server > EA SMTP Server Manager to begin configuration.

Note

Installation Permission: An account with Administrative Privileges is required to run the installer for installing “EA SMTP Server”.

Windows Firewall Rule: The installer automatically creates a Windows Firewall rule to allow inbound connections to EA SMTP Server.

Receive Connector

A receive connector is a configuration object that enables EA SMTP Server to receive messages from remote SMTP servers. Here’s how to configure it:

A default receive connector named “Default” is created during installation. It listens on 25 and 587 ports across all IP addresses. The default connector is stopped by default. You can start it by clicking the “Start” button in the receive connector list.

You can also create a new receive connector to listen on a specific IP address and port.

Binding:

  • IP Address: Binds the receive connector to a specific IP address and port. Use “*” to bind to all available IP addresses.
  • Ssl Certificate: Select an SSL certificate to enable SSL/TLS encryption for incoming connections.
  • Server name: The server name used in the EHLO command when accepting incoming SMTP connections.

Connection Control:

  • SSL/TLS: Require remote SMTP servers to establish an SSL/TLS connection before sending messages.
  • Anonymous: Allow unauthenticated users to send emails to domains in the Accepted Domains list.
  • Basic Authentication: Require users to authenticate before relaying emails through the server.
  • Basic Authentication under SSL/TLS: Require users to authenticate via SSL/TLS before relaying emails (more secure).

Relay Restrictions:

Define which computers can relay messages through the SMTP service without user authentication. Choose one of the following options:

  • Only the list below: Only computers with IP addresses in the specified relay list can relay emails (recommended).
  • All except the list below (not recommended): All computers except those in the specified list can relay emails.

Warning: Do not enable open relay for unknown computers, as this may result in your server being blacklisted by spam filters.

Limits and Throttling:

Configure timeout settings, maximum message size, connection limits, and message rate limits for the receive connector to optimize performance and prevent abuse.

Send Connector

A send connector is a configuration object that enables EA SMTP Server to send messages to remote SMTP servers. Here’s how to configure it:

A default send connector named “Default” is created during installation. It sends emails directly to the recipient’s mail server via DNS MX record lookup. You can also create custom send connectors to relay emails through a smart host.

Address Space:

  • Address space: Matches the recipient’s email address or domain. If a recipient’s address/domain matches the address space, the email is sent via this send connector.
  • Relay server: Used to route outgoing emails. By default, DNS MX lookup is used to locate the recipient’s mail server. Alternatively, you can use a smart host for relay.

Delivery:

  • Configure timeout settings, delivery report format, and retry intervals for the send connector to ensure reliable message delivery. A valid email address must be specified in the Postmaster Address field. A valid domain name must be entered in the FQDN field; this value is used in the HELO/EHLO command when sending outgoing emails.

Throttling:

  • Configure the connection limit, and message rate limit for the send connector.

Binding:

  • IP Address: Binds the send connector to a specific IP address. If no IP address is specified, the connector uses the server’s primary IP address for outbound emails.

Users

By default, anonymous users are not allowed to relay emails through the server. To enable authenticated email sending:

  • Create new user accounts for authentication.
  • Set per-user message rate limits (minute or daily) to prevent abuse.

SendAs

  • Allow users to send emails using specified sender email addresses.

Limits and Throttling:

  • Configure message rate limits for individual users to control their email sending volume.

Accepted Domains

Accepted domains are the domains for which EA SMTP Server accepts incoming emails. You can add new accepted domains to expand the server’s email reception scope. Even unauthenticated senders can send emails to recipients in the Accepted Domains list.

Local user:

  • Emails sent to local users are delivered to a specified drop folder.

Remote user:

  • Emails sent to remote users are relayed to the appropriate remote SMTP server via a send connector..

DKIM Signing

DKIM (DomainKeys Identified Mail) is a method for associating a domain name with an email message, thereby allowing a person, role, or organization to claim some responsibility for the message.

To sign outgoing emails with a DKIM signature, enable DKIM signing in DKIM configuration.

Public key

  • The public key is used to verify DKIM signatures. You must deploy this public key to your domain’s public DNS server for recipients to validate the signature.

Routing Rules

By default, incoming emails are routed to send connectors based on the recipient’s domain. If the recipient’s domain matches the address space of a send connector, the email is sent via that connector.

Custom routing rules can be created to route incoming emails to specific send connectors based on the sender’s and recipient’s email addresses, providing granular control over email flow. Pickup Folder


The pickup folder is a directory where you can drop email files for automated sending. For a message file to be successfully delivered, it must meet the following requirements:

  • It must be a text file complying with the basic SMTP message format (MIME headers and content are supported).
  • It must have an .eml file extension.
  • It must include at least one email address in the X-Sender or From header fields.
  • It must include at least one email address in the To, Cc, Bcc, or X-Receiver header fields.
  • A blank line must separate the message header from the message body.

Example 1 (basic valid message):

To: test@contoso.com
From: rcpt@contoso.com
Subject: Message subject

This is the body of the message.

Example 2 (with X-Sender and X-Receiver fields):

X-Sender: <test@contoso.com>
X-Receiver: <rcpt@contoso.com>
To: test@contoso.com
From: rcpt@contoso.com
Subject: Message subject

This is the body of the message.

The X-Sender and X-Receiver fields specify the actual sender and recipient when the file is dropped into the pickup folder.

Journal Tools

Message Journal

The message journal stores logs of all incoming and outgoing emails. You can search these logs by sender, recipient, subject, or message ID for auditing and troubleshooting.

The journal database is based on SQLite, and logs are stored by default at Installation Path\Log\journal.v11.db. You can also view and export logs using third-party SQLite viewers.

Queue Viewer

The queue viewer allows you to monitor the status of the submission queue and delivery queue. You can manually abort or retry messages that are stuck or failed.

Journal Setting

Configure journal settings to manage log storage and performance:

  • Journal Item Expiration Time: Set a time period to automatically delete old logs and prevent excessive disk space usage.
  • Delete Journal Table Manually: If enabled, logs are not deleted automatically; you must manually delete journal tables via the journal viewer.
  • Date-Based Table Splitting: For improved performance, logs are split into separate tables by date range. You can select which tables to view or delete in the journal viewer.
  • Max Items per Journal Table: Define the maximum number of records per journal table. When this limit is exceeded, a new table is created to store subsequent logs.

Restart EA SMTP Service

You can restart EASmtpSvc Service to restart all services of EA SMTP Server.

Restart-Service "EASmtpSvc"

Free for non-commercial use

EA SMTP Server is free for non-commercial use. You can request a trial license every 60 days, and each trial license is valid for 90 days. When your trial license is close to expiring, you can apply for a new one to continue using the server for non-commercial projects.

Free Email Support

Not enough? Please contact our technical support team.

Support@EmailArchitect.NET

Remarks

We usually reply emails within 24hours. The reason for getting no response is likely that your SMTP server bounced our reply. In this case, please try to use another email address to contact us. Your Gmail, Hotmail or Office 365 email account is recommended.