Emails not sending or receiving on your hosting usually trace back to DNS errors (MX/SPF/DKIM/DMARC), incorrect mail client settings (SMTP/IMAP ports and SSL/TLS), mailbox quotas, firewalls or port blocks, IP blacklisting, or DNS propagation. Verify records, ports, authentication, quotas, and bounce messages first, then check server logs to restore mail flow.
If you’re asking “why are my emails not sending or receiving on my hosting,” you’re not alone. Email delivery depends on multiple moving parts—DNS, authentication, client settings, server limits, and reputation. A single misconfiguration can stall your inbox. This guide gives you a step-by-step, beginner-friendly process to diagnose and fix issues quickly, with insights from real hosting environments.
Quick Diagnosis: Is It Sending, Receiving, or Both?
First, isolate the failure type. This narrows your troubleshooting to the right layer (DNS, SMTP, IMAP, quota, or filtering).
If you can receive but not send
- Likely causes: wrong SMTP port/SSL, authentication disabled, port 25 blocked, rate limits, or IP blacklisting.
- Fix quickly: use SMTP port 587 with STARTTLS (or 465 SSL), enable “SMTP authentication,” and confirm the right username (full email) and password.
If you can send but not receive
- Likely causes: bad MX records, DNS propagation, wrong mailbox/forwarder, or server-side filters.
- Fix quickly: verify MX points to the correct mail host, check “Email Routing” in your panel, and test via webmail to rule out local client issues.
If neither works
- Likely causes: domain expired/suspended, nameservers down, global DNS misconfiguration, or firewall issues.
- Fix quickly: confirm domain status, nameservers, DNS records, account status, and port access (25/465/587/993/995).
Core Causes and Fixes
DNS and MX Records (Receiving Depends on This)
Your MX (Mail eXchanger) records tell the internet where to deliver mail for your domain. If MX is missing or wrong, emails won’t arrive.
- MX must point to your hosting mail server (e.g., mail.yourdomain.com or your provider’s hostname).
- MX should be a hostname, not an IP, and that hostname must resolve to an A record.
- Only use one email system at a time (hosting or Google/Microsoft), not both.
- In cPanel, set Email Routing to “Local” if mailboxes live on your server.
; Example DNS for hosting email
yourdomain.com. 3600 IN MX 10 mail.yourdomain.com.
mail.yourdomain.com. 3600 IN A 203.0.113.10
; SPF (authorize your sending hosts)
yourdomain.com. 3600 IN TXT "v=spf1 a mx ip4:203.0.113.10 -all"
After changes, allow up to 4–24 hours for DNS propagation worldwide (often faster). Test MX with tools or via nslookup -type=mx yourdomain.com.
SPF, DKIM, and DMARC (Deliverability and Anti-Spoofing)
These records authenticate your emails. Bad or missing records often cause sending failures or spam-foldering.
- SPF authorizes servers allowed to send for your domain.
- DKIM cryptographically signs messages to prove they’re genuine.
- DMARC sets policy and reporting for alignment of SPF/DKIM with your domain.
; SPF (include all legitimate senders)
yourdomain.com. IN TXT "v=spf1 a mx ip4:203.0.113.10 include:relay.example.net -all"
; DKIM (shortened for readability; hosting panel provides full key)
default._domainkey.yourdomain.com. IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqh..."
; DMARC (monitor mode)
_dmarc.yourdomain.com. IN TXT "v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com; adkim=s; aspf=s"
Use your control panel’s Email Deliverability tool to auto-fix SPF/DKIM. Set DMARC to “none” initially to collect reports, then move to “quarantine” or “reject” once alignment is stable.
Mail Client Settings (SMTP/IMAP/POP and SSL/TLS)
- Incoming (IMAP): port 993 with SSL/TLS (preferred) or IMAP 143 with STARTTLS.
- Incoming (POP3): port 995 with SSL/TLS or POP3 110 with STARTTLS.
- Outgoing (SMTP): port 587 with STARTTLS (recommended) or 465 with SSL/TLS.
- Always enable “My outgoing server (SMTP) requires authentication.”
- Username is the full email address; password is the mailbox password.
Test via webmail first. If webmail works but Outlook/Apple Mail/Thunderbird fail, the issue is local client or network firewall.
Mailbox Quota, Attachment Size, and Filters
- Full mailbox: ask your host to increase quota or delete old mail; empty “Trash” too.
- Attachment limits: many hosts cap at 25 MB per message. Use cloud links for larger files.
- Filters and spam folders: check server-side filters, user filters, and quarantine.
Spam Filters, Blacklists, and IP Reputation
If your server IP is on RBLs (Spamhaus, Barracuda, etc.), mail may bounce or land in spam. Check and remediate.
- Look for bounce codes like 550 5.7.1 “blocked” or references to RBLs.
- Scan IP/domain at known blacklist checkers and request delisting after cleanup.
- Lock down compromised accounts, rotate passwords, enable 2FA, and send slowly to rebuild reputation.
Port 25 Blocks, Firewalls, and Rate Limits
- ISPs and many hosts block outbound port 25 to stop spam. Use SMTP 587 with STARTTLS.
- Local firewalls must allow ports 465/587/993/995.
- Hosts may limit messages per hour to protect IP reputation; check your plan’s limits.
Webmail vs Third‑Party Apps: Isolate the Issue
- If webmail works, the server and DNS are fine; fix your device, app settings, or network.
- If webmail also fails, investigate server logs, quotas, and authentication issues.
PHP mail() vs SMTP in Websites/Apps
Contact forms and apps often fail when using PHP mail() due to restrictions or authentication failures. Use SMTP with authentication for reliability.
// WordPress tip: use an SMTP plugin and set:
// Host: mail.yourdomain.com
// Port: 587 (STARTTLS) or 465 (SSL)
// Auth: On (full email as username)
Reading Bounces and Logs Like a Pro
Common SMTP Error Codes
- 421/451: Temporary issue (greylisting, server busy). Retry later.
- 550 5.1.1: Recipient address doesn’t exist.
- 550 5.7.1: Rejected for policy/spam; check SPF/DKIM/blacklists.
- 552/554: Message rejected (size, content, or reputation).
Where to Find Logs
- Control panels: cPanel’s Track Delivery and Email Deliverability show failures and auth status.
- Linux servers (root): Exim or Postfix logs provide detailed SMTP traces.
# Exim (cPanel/DirectAdmin typical)
tail -f /var/log/exim_mainlog
# Postfix (Plesk/Ubuntu typical)
tail -f /var/log/mail.log
# Grep by address
grep -i "user@yourdomain.com" /var/log/exim_mainlog
Special Cases That Break Email
New Domain or Recent DNS Changes
- Allow propagation (commonly minutes to a few hours; up to 24–48h globally).
- Lower TTLs before making changes to speed up future updates.
Expired Domain or Suspended Hosting
- If the domain is expired, MX resolution fails—renew it first.
- Suspended hosting stops SMTP/IMAP; resolve billing or abuse tickets promptly.
Email Forwarders and Loops
- A forwarder to a remote provider can trigger SPF/DMARC failures; use SRS (Sender Rewriting Scheme) if supported.
- Avoid chains of forwarders and catch-alls; create explicit mailboxes where possible.
Mailing Lists, Newsletters, and Bulk Sends
- Shared hosting isn’t built for bulk email. Use a dedicated transactional/marketing service for scale and deliverability.
- Maintain clean lists, confirmed opt-in, and proper list-unsubscribe headers.
Step-by-Step Troubleshooting Checklist
- Check domain status, nameservers, and hosting account status.
- Test via webmail; send and receive to external addresses (Gmail/Outlook).
- Verify MX records and Email Routing (Local vs Remote).
- Fix SPF/DKIM/DMARC using your panel’s deliverability tool.
- Confirm SMTP/IMAP settings: host, ports (587/465/993/995), SSL/TLS, authentication.
- Review mailbox quotas and delete old mail; empty Trash/Spam.
- Read bounce messages for exact error codes and RBL references.
- Scan server IP/domain on RBLs; remediate and request delist.
- Disable or adjust aggressive filters; check quarantines.
- If using forms/apps, switch to authenticated SMTP, not PHP mail().
- Review server logs (Exim/Postfix) for connection/auth/delivery details.
- If still stuck, open a support ticket with timestamps, sender/recipient, and bounces.
When to Use a Dedicated Email Service
Use your hosting email for day‑to‑day team mail. If you send bulk campaigns, high-volume transactional mail, or need advanced analytics, add a dedicated email platform. This protects your domain reputation, avoids shared-IP limits, and improves inbox placement.
How YouStable Can Help
On YouStable hosting, SPF/DKIM are auto-configurable via Email Deliverability, and our cPanel toolset simplifies MX routing, quotas, and tracking delivery. We recommend SMTP 587 with STARTTLS, provide clear per-hour send limits, and help with IP reputation reviews. If your use case needs higher throughput, our team will guide you on integrating a trusted transactional email service while keeping your domain’s authentication aligned.
FAQs
Why are my emails not sending from cPanel?
Common reasons include wrong SMTP port (use 587 STARTTLS or 465 SSL), authentication disabled, mailbox quota exceeded, or IP blacklisting. Test from webmail, verify SMTP auth and ports, then check bounces for 550/554 errors and server logs for authentication failures.
How do I fix MX records to receive email?
Set MX to your mail server host (not an IP), ensure that host has an A record, and configure Email Routing to “Local” if mailboxes are on your hosting. Remove conflicting MX entries (e.g., Google/Microsoft) if you’re not using them. Allow time for DNS propagation.
What ports should I use for SMTP, IMAP, and POP?
SMTP: 587 (STARTTLS) or 465 (SSL). IMAP: 993 (SSL) or 143 (STARTTLS). POP3: 995 (SSL) or 110 (STARTTLS). Always enable SMTP authentication and use the full email address as the username.
How long does it take for email DNS changes to work?
Most changes apply within minutes to a few hours, but global propagation can take up to 24–48 hours depending on TTL and caching. Lower TTL before changes to accelerate future updates.
How can I check if my server IP is blacklisted?
Use a reputable blacklist checker to scan major RBLs (Spamhaus, Barracuda, Proofpoint, SORBS). If listed, fix the root cause (compromised accounts, poor list hygiene), implement SPF/DKIM/DMARC, then request delisting and warm your sending gradually.