Servers
Outgoing mail
Send mail from PHP, WordPress and your apps through Resend, Postmark, Amazon SES, Mailgun or any SMTP service, and check the sender domain's SPF, DKIM and DMARC.
Zefily does not run a mail server. Instead, a server's mail leaves through your own SMTP service, so it is delivered and not marked as spam. This covers PHP mail() (WordPress contact forms, password reset emails, WooCommerce orders) and apps that send through sendmail.
Turn it on
Open the server, choose Mail, pick the Service and fill in:
| Service | SMTP host | Port | User name | Password |
|---|---|---|---|---|
| Resend | smtp.resend.com |
465 (TLS) | resend |
your API key |
| Postmark | smtp.postmarkapp.com |
587 (STARTTLS) | the server token | the server token |
| Amazon SES | email-smtp.<region>.amazonaws.com |
587 | SMTP user name | SMTP password (not your AWS keys) |
| Mailgun | smtp.mailgun.org (or smtp.eu.mailgun.org) |
587 | the SMTP login | its password |
| Other SMTP | your provider's host | 465 or 587 |
Set the Sender address on a domain you have verified with the service. Always send from the sender address (on by default) rewrites the sender of every message: services refuse mail from domains you have not verified, and apps often use www-data@server or wordpress@yourdomain.
Turn on installs msmtp as the server's sendmail and writes the account. The password is stored encrypted by Zefily and on the server is readable by root only; site users can send mail but cannot read it. Send test delivers a short message through the relay and shows the service's answer if it refuses. Turn off removes the relay.
A server that already runs a mail server (Postfix, Exim) is left alone: the panel says so instead of replacing it.
Laravel and other frameworks can keep their own SMTP settings in .env (MAIL_MAILER=smtp); with MAIL_MAILER=sendmail they use this relay.
Sender domain check
Under Sender domain check, Check DNS looks up the sender address's domain:
- SPF: a TXT record starting with
v=spf1that allows your service (for Resend onsend.<domain>, for SES and Mailgun on the domain withinclude:amazonses.comorinclude:mailgun.org). Only one SPF record may exist. - DKIM: the record for the selector your service shows (Resend:
resend; Postmark, SES and Mailgun generate their own, enter it in DKIM selector). - DMARC: a TXT record at
_dmarc.<domain>. Start withp=noneto receive reports, then move toquarantineorreject.
Each line says what is missing and the record to add. DNS changes can take a while to appear.
Updated October 22, 2026 View as Markdown llms.txt