Recommended Services
Supported Scripts

By default, Zimbra accepts inbound messages destined for non-existent accounts and only rejects them after the full message body has been transmitted — wasting bandwidth and processing time. Enabling sender address verification and recipient rejection causes Zimbra to reject invalid addresses during the SMTP handshake with a 550 No such user response.

Enable Recipient and Sender Verification

Run as the zimbra user:

su - zimbra
# Reject mail to non-existent recipients at SMTP time
zmprov mcf zimbraMtaSmtpdRejectUnlistedRecipient yes

# Reject mail from non-existent/invalid senders at SMTP time
zmprov mcf zimbraMtaSmtpdRejectUnlistedSender yes

Restart Required Services

# Restart MTA and config daemon
zmmtactl restart
zmconfigdctl restart

# Verify the settings were applied
zmprov gcf zimbraMtaSmtpdRejectUnlistedRecipient
zmprov gcf zimbraMtaSmtpdRejectUnlistedSender

Verify it’s Working

# Send a test email to a non-existent address from an external mail server
# (or use telnet/openssl to simulate SMTP):
openssl s_client -connect mail.yourdomain.com:25 -starttls smtp
EHLO test.com
MAIL FROM: 
RCPT TO: 
# Should receive: 550 5.1.1 No such user here

Additional Spam Reduction Measures

  • SPF/DKIM/DMARC: Configure all three DNS records to improve your domain’s email reputation
  • RBL checks: Enable real-time blocklist checks in Zimbra Admin → Global Settings → MTA → Enable realtime blackhole list
  • Greylisting: Enable postfix greylisting for additional spam reduction (requires Zimbra MTA tuning)