Plesk email stops sending for a surprisingly short list of root causes — but those causes hide behind a long list of error messages. This guide gives you a systematic diagnostic workflow and the exact commands to fix the most common Plesk Postfix mail delivery failures, from port 25 blocks to Amavis crashes to misconfigured smart hosts.
Step 1: Check the Mail Queue and Postfix Logs First
Before changing any configuration, inspect what is actually failing.
Check the current mail queue:
postqueue -p
This shows all deferred messages with their error messages. Look at the status column:
deferred: Postfix tried to send but failed — the error message tells you whyactive: Currently being processedhold: Deliberately held — requires manual intervention
Read the Postfix mail log:
tail -100 /var/log/maillog
# Or on Debian/Ubuntu:
tail -100 /var/log/mail.log
Search for the specific error around the time email stopped working:
grep "$(date +%b\ %e)" /var/log/maillog | grep -i "reject\|error\|deferred\|refused\|timeout" | tail -50
Check if Postfix is running:
systemctl status postfix
postfix status
If Postfix is not running, attempt to start it and capture the error:
systemctl start postfix 2>&1
journalctl -u postfix -n 50 --no-pager
Step 2: Fix "Connection Timed Out" on Port 25 (ISP/VPS Port Block)
The single most common cause of Plesk email not sending is a block on port 25 outbound — applied by VPS providers (AWS, DigitalOcean, Vultr, Hetzner) and ISPs to prevent spam abuse.
Test if port 25 is reachable:
telnet aspmx.l.google.com 25
If this times out or refuses, your provider blocks outbound port 25.
Solution: Configure a smarthost relay through an external SMTP provider
Services like SendGrid, Mailgun, Amazon SES, or Brevo (Sendinblue) allow you to relay outbound mail through their infrastructure on port 587 or 465, bypassing the port 25 block.
In Plesk Obsidian 18.0.64+, configure the smarthost via the GUI:
Go to Tools & Settings → Mail Server Settings → Relaying. Set relay host to your provider's SMTP host (e.g., smtp.sendgrid.net) and enter SMTP credentials.
Or configure it directly in Postfix:
nano /etc/postfix/main.cf
Add:
relayhost = [smtp.sendgrid.net]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_security_level = encrypt
Create the credentials file:
echo "[smtp.sendgrid.net]:587 apikey:YOUR_SENDGRID_API_KEY" > /etc/postfix/sasl_passwd
postmap /etc/postfix/sasl_passwd
chmod 600 /etc/postfix/sasl_passwd
postfix reload
Flush the deferred queue to retry all pending messages:
postqueue -f
Step 3: Fix Amavis/Spam Filter Failure (Port 10024 Connection Refused)
Plesk uses Amavis (a content filter) between Postfix and Dovecot for spam and virus scanning. When Amavis crashes or stops, Postfix cannot route mail and you see errors like:
connect to 127.0.0.1[127.0.0.1]:10024: Connection refused
Check Amavis status and restart it:
systemctl status amavis
systemctl restart amavis
# Wait 10 seconds, then check again
systemctl status amavis
If Amavis fails to restart, check its log:
tail -50 /var/log/amavis/amavis.log
# Or:
journalctl -u amavis -n 50 --no-pager
Common Amavis fix — SpamAssassin rule update failure:
sa-update --no-gpg
systemctl restart amavis
Temporary workaround: bypass Amavis (not for production long-term)
If Amavis cannot be fixed quickly and you need to restore mail flow, edit /etc/postfix/main.cf and change:
# Find:
content_filter=smtp-amavis:[127.0.0.1]:10024
# Comment it out:
# content_filter=smtp-amavis:[127.0.0.1]:10024
postfix reload
This bypasses spam scanning temporarily. Restore it once Amavis is fixed.
Step 4: Fix "Mail Transport Unavailable" Error
This error occurs when Postfix's transport maps or master.cf become corrupted after a Plesk update or manual edit.
Regenerate the transport map:
postmap /etc/postfix/transport
postfix reload
Validate the master.cf for duplicate entries (common after upgrades):
postfix check 2>&1
If you see warnings about duplicate definitions, edit /etc/postfix/master.cf and comment out the duplicate lines (keep the one that includes an IP address over the one bound to all interfaces).
Full Postfix configuration rebuild via Plesk (safest option):
plesk repair mail -y
This command tells Plesk to regenerate all Postfix configuration files from its internal database, which fixes most corruption caused by manual edits conflicting with Plesk's managed config.
Step 5: Fix "Postfix Keeps Stopping" (Process Limit Exhaustion)
On busy mail servers, Postfix can exhaust its default process limits, causing it to stop accepting new connections.
Check current Postfix resource usage:
postfix status
ps aux | grep postfix | wc -l
Increase process limits in main.cf:
nano /etc/postfix/main.cf
Add or update:
default_process_limit = 200
smtp_destination_concurrency_limit = 10
local_destination_concurrency_limit = 5
postfix reload
If postfix-srs (Sender Rewriting Scheme) is timing out specifically:
nano /etc/postfix/master.cf
Find the postfix-srs line and increase the timeout parameter.
Step 6: Fix Emails Stuck as Deferred to Specific Domains
If only emails to specific domains (e.g., Gmail, Yahoo) are failing while others send fine, the receiving server is rejecting your messages — usually due to a missing rDNS record or a blacklisted IP.
Check your server's rDNS (reverse DNS):
dig -x YOUR_SERVER_IP +short
The result must resolve to your server's hostname. If it shows nothing or an unrelated hostname, contact your hosting provider to set the PTR record.
Check if your IP is blacklisted:
dig YOUR_SERVER_IP.zen.spamhaus.org
# If the result contains 127.0.0.x, your IP is listed on Spamhaus
Use mxtoolbox.com/blacklists.aspx to check all major blocklists at once.
View specific delivery error for a deferred message:
postcat -q MESSAGE_ID
Get the MESSAGE_ID from postqueue -p output (the hex string in the first column).
Step 7: Verify Plesk Mail Server Settings
Some issues stem from Plesk's own mail server configuration rather than Postfix directly.
Navigate to Tools & Settings → Mail Server Settings and verify:
- Mail server: Should show Postfix as the active MTA
- SMTP authentication: Should be enabled for outgoing mail
- Webmail: Roundcube or Horde should show as installed if in use
Run the Plesk built-in mail diagnostic:
plesk repair mail --check-only
This reports any mismatches between Plesk's expected configuration and the actual Postfix config without making changes.
For persistent or complex Plesk mail server issues that require deeper investigation, CloudHouse Technologies' server management service includes proactive mail server monitoring and emergency troubleshooting as part of ongoing managed server support.
