Configuring Popular Applications to Send Email via ZeroSMTP

ZeroSMTP is an outgoing-only SMTP relay. It is a drop-in replacement for any application setting that asks for an “SMTP server” / “outgoing mail server” to send notifications, password resets, contact-form messages, or alerts. It cannot be used as an inbox, so skip any “incoming mail” / IMAP / POP3 field these applications might also offer.

Connection values (same for every application)

Setting Value
SMTP host mx.msgwing.com
Port 587 (STARTTLS) or 465 (SSL/TLS)
Encryption STARTTLS on 587, or SSL/TLS on 465 — required
Authentication Enabled (LOGIN/PLAIN)
Username your @msgwing.com login
Password your @msgwing.com password
From address your @msgwing.com login

Generic SMTP settings fields

See README.md for how to obtain a login and password.

WordPress (contact forms, WooCommerce, password resets)

Install a maintained SMTP plugin — e.g. WP Mail SMTP or Post SMTP — rather than relying on the default wp_mail()/PHP mail() transport, which most hosts throttle or block.

  1. Install and activate the plugin from the WordPress plugin directory.
  2. In the plugin’s Mailer settings choose Other SMTP.
  3. Fill in the values from the table above (SMTP Host, Port, Encryption, Authentication, Username, Password).
  4. Send the plugin’s built-in test email to confirm delivery.

Home Assistant (notify / smtp integration)

notify:
  - name: zerosmtp
    platform: smtp
    server: mx.msgwing.com
    port: 587
    timeout: 15
    sender: your-login@msgwing.com
    encryption: starttls
    username: your-login@msgwing.com
    password: !secret zerosmtp_password
    recipient:
      - you@example.com

Store the password in secrets.yaml, never directly in configuration.yaml. For implicit TLS use port: 465 and encryption: tls instead.

Grafana (alerting notifications)

In grafana.ini (or the equivalent environment variables):

[smtp]
enabled = true
host = mx.msgwing.com:587
user = your-login@msgwing.com
password = your-password
skip_verify = false
from_address = your-login@msgwing.com
starttls_policy = MandatoryStartTLS

Never set skip_verify = true — that disables certificate validation.

Zabbix (media type: Email)

Administration → Media types → Email → set:

Any other application / script

If an application only exposes generic “SMTP” fields (most CMSs, monitoring tools, and backup software do), use the values from the table above. If the application asks for a library or protocol name, any of the language examples in the repository root (e.g. python-zerosmtp.py, node-zerosmtp.mjs, php-zerosmtp.php) show the equivalent raw configuration for that ecosystem.

Limitations