How to Fix Plesk Email Not Sending: Postfix Troubleshooting Guide

Priya

Content Writer & Researcher

Last Updated: 1 October 2026
How to Fix Plesk Email Not Sending: Postfix Troubleshooting Guide
πŸ–₯️

Plesk Email Not Sending? Get It Fixed in Under an Hour

Email downtime costs business β€” delayed invoices, missed leads, and frustrated clients. CloudHouse Technologies provides emergency Plesk mail server troubleshooting and permanent fixes for Postfix, Amavis, and smarthost configuration issues.

πŸ–₯️12,400+PCs Fixed
⭐4.9β˜…Google Rating
⚑<15 minAvg. Response
πŸ›‘οΈISO 27001Certified

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 why
  • active: Currently being processed
  • hold: 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.

FAQs

Get the Free Linux Server Admin Cheatsheet (PDF)

Essential commands for server management, networking, and troubleshooting β€” all on one printable page.

Running Linux servers? Let us manage them for you.

Our Managed Linux Server plans cover updates, security hardening, monitoring, and 24/7 incident response β€” so your servers stay up and your team stays focused.

  • Proactive OS patching and security updates
  • 24Γ—7 monitoring with instant alerting
  • Backup configuration and disaster recovery
  • Dedicated Linux engineers on call
See Pricing Plans β†’

What our customers say

β€œOur production server went down at 2 AM. CloudHouse had it back online in under 20 minutes. Incredible response time.”

Arun S.

CTO, SaaS Startup

β€œThey migrated our entire infrastructure from Ubuntu 18 to 22 with zero downtime. Couldn't have asked for better.”

Deepak N.

DevOps Lead

Frequently Asked Questions

This almost always means port 25 is blocked outbound by your VPS provider or ISP. Plesk can deliver mail between accounts on the same server (internal) without going through port 25, but external delivery requires it. Test with: telnet aspmx.l.google.com 25 β€” if it times out, set up a smarthost relay through SendGrid, Mailgun, or Amazon SES.

Need this done for you?

Server Management Service

Managed Linux and Windows servers: monitoring, patching, security and 24/7 support.

Learn more

Book your free 15-minute diagnosis

A certified technician will call you back within 15 minutes during business hours.

Share this article

Leave a Comment

Comments (0)

Loading comments...