📑 Daftar Isi
- Why Do Non-Spam Emails End Up in Spam Folders?
- Cause 1: Missing or Incorrect SPF Record
- Cause 2: DKIM Not Enabled or Misconfigured
- Cause 3: DMARC Not Configured
- Cause 4: Poor Server IP Reputation
- Cause 5: Missing rDNS / PTR Record
- Cause 6: Incorrect HELO / EHLO Configuration
- Cause 7: Email Content Triggers Spam Filters
- Cause 8: No Unsubscribe Link
- Cause 9: Sudden Spike in Sending Volume
- Cause 10: Hosting Provider Doesn't Support Email Well
- Verification Steps: Check Your Server's Email Health
- Fix Steps: Step by Step
- Troubleshooting Table: Emails Going to Spam
- Pro Tips from a NOC Engineer
- FAQ
- Conclusion
Ever sent an important email to a client, only to hear back “I never got it” — even though your sent folder shows it went through just fine? Turns out, your email landed in their spam folder. You weren’t spamming anyone. It was just a normal business proposal or a follow-up. But the recipient’s spam filter flagged it anyway.
I once handled a case like this at the help desk. A small business owner told me, “I’ve been emailing my supplier for weeks and they keep saying they never receive anything.” We checked — every single email was going to spam. The supplier never checked their spam folder because they assumed important emails wouldn’t end up there.
Think of it like sending a registered letter, but your return address looks fake, the envelope is suspicious, and your name matches a known scammer. The recipient would be wary, right? Spam filters work the exact same way — they evaluate multiple signals before deciding whether your email goes to inbox or spam.
In this article, we’ll break down every reason why your legitimate emails end up in spam when you’re using a cPanel mail server. If you’re running a VPS or shared hosting with cPanel and email deliverability is driving you crazy, this is the guide you need.
Why Do Non-Spam Emails End Up in Spam Folders?
As a NOC engineer, I get this question all the time. The short answer: spam filters don’t care about your intentions. They analyze patterns, reputation, and the technical characteristics of your email. If even one “red flag” is detected, your email gets flagged.
Many people think, “I’m not spamming, so my emails should be fine.” Unfortunately, automated spam filters don’t read your mind. What they look at is:
- Whether your domain is registered as a legitimate sender
- Whether your server has authority to send email on behalf of your domain
- Whether your server’s IP address has a clean reputation
- Whether your email content contains spam-like words or patterns
Each of these can land you in spam. Let’s go through them one by one.
Cause 1: Missing or Incorrect SPF Record
SPF (Sender Policy Framework) is like an ID card for your mail server. An SPF record in DNS tells the receiving server: “Only this specific server is authorized to send email on behalf of my domain.”
If your SPF record is missing, or if your server’s IP isn’t listed in the SPF record, the receiving server gets suspicious. It thinks: “This email claims to be from domain X, but the sending server isn’t in the authorized list. This could be spoofing.”
In cPanel, SPF records are usually created automatically during email setup. But the problem is, many people never verify whether their SPF is actually correct — especially after a server migration or IP change.
Cause 2: DKIM Not Enabled or Misconfigured
DKIM (DomainKeys Identified Mail) is essentially a digital signature for your email. The receiving server uses it to verify that the email actually came from your domain and hasn’t been tampered with in transit.
In cPanel, DKIM can usually be enabled from Email > Authentication. But many people skip this step because it seems “complicated” or “unnecessary.” Without DKIM, your email is missing a critical layer of verification.
I’ve seen cases where DKIM was enabled in cPanel, but the public key wasn’t synced with the DNS record. The result? Still goes to spam because the receiving server failed to verify the signature.
Cause 3: DMARC Not Configured
DMARC (Domain-based Message Authentication, Reporting & Conformance) sets the rules for SPF and DKIM. It tells the receiving server: “If email from my domain fails SPF or DKIM verification, report it to me and take this action: quarantine / reject / none.”
Without DMARC, you have no control over what happens to emails that fail authentication. Some receiving servers are more aggressive with emails that lack DMARC — they go straight to spam even if SPF and DKIM are correctly set up.
Cause 4: Poor Server IP Reputation
This is the classic shared hosting problem. On shared hosting with cPanel, you share an IP address with hundreds of other accounts. If one of those accounts sends spam from the same IP, the IP’s reputation is damaged — and your emails suffer the consequences.
An IP blacklist is like a police watchlist. If your IP ends up on one (Spamhaus, Barracuda, SURBL, etc.), many receiving servers will reject or spam-filter emails from that IP without further consideration.
This is why many NOC engineers recommend a dedicated IP for mail servers, or at least regular IP reputation monitoring.
Cause 5: Missing rDNS / PTR Record
rDNS (reverse DNS) or PTR record is the reverse of normal DNS. While DNS maps domain → IP, rDNS maps IP → domain. Receiving servers check the PTR record to verify that the sending IP actually belongs to the claimed domain.
On shared hosting, the PTR record is usually set by the provider. But if you’re on a VPS or dedicated server, you need to set up the PTR record yourself through your hosting provider. Without it, many mail servers (especially Gmail) will filter your emails more aggressively.
Cause 6: Incorrect HELO / EHLO Configuration
HELO/EHLO is the initial greeting your server sends to the receiving server. It typically contains your server’s hostname. If this hostname doesn’t resolve to the correct IP, or doesn’t match the PTR record, the receiving server becomes suspicious.
In cPanel, HELO is usually configured automatically. But if you’ve recently migrated servers or changed hostnames, make sure HELO is still pointing to the right place.
Cause 7: Email Content Triggers Spam Filters
Spam filters don’t just look at technical factors — they also analyze content. Words like “free,” “click here,” “you’ve won,” “huge discount,” or excessive use of ALL CAPS can trigger spam filters.
It’s not just about words either. Email format matters too. Emails that are entirely images (image-only), or HTML emails that are overly complex with excessive colors and fonts, are more likely to be flagged as spam.
This doesn’t mean you should avoid every word that might be flagged. But a combination of factors — spammy words + broken SPF + poor IP reputation — is a guaranteed recipe for the spam folder.
Cause 8: No Unsubscribe Link
This is often overlooked. If you’re sending bulk emails (newsletters, promotions, etc.) without an unsubscribe link, that’s a major red flag for spam filters. In many countries, including Indonesia, this also violates anti-spam regulations.
Even for regular business emails (not bulk), if your sending pattern resembles a newsletter but lacks an unsubscribe option, spam filters might flag it.
Cause 9: Sudden Spike in Sending Volume
Imagine you normally send 10 emails per day, and suddenly you send 500 at once. Spam filters will flag this. Sudden volume spikes are a classic pattern of compromised accounts being used for spam.
cPanel has sending limits per hour (usually 50-300 depending on the provider). But even if you don’t exceed the limit, volume spikes can still trigger spam filters on the receiving end.
Cause 10: Hosting Provider Doesn’t Support Email Well
This is a reality many face. Many shared hosting providers in Indonesia focus on web hosting, not email. They might not configure the mail server properly, not offer dedicated IPs for email, or their IPs might already be blacklisted.
Before blaming cPanel, make sure your provider actually supports good email delivery. Check whether they provide access to SPF, DKIM, and DMARC settings. Check if their IPs are clean from blacklists.
Verification Steps: Check Your Server’s Email Health
Now that you understand the causes, let’s check your mail server’s condition. Run these commands via SSH or check from your DNS panel:
| Check | Command / Method | Expected Result |
|---|---|---|
| SPF Record |
|
TXT record containing “v=spf1” exists |
| DKIM Record |
|
Record with “v=DKIM1” exists |
| DMARC Record |
|
Record with “v=DMARC1” exists |
| PTR / rDNS |
|
Points to the correct domain |
| IP Blacklist | Visit mxtoolbox.com/blacklists.aspx, enter your IP | 0 blacklist hits |
| HELO Check |
Check the greeting message |
A valid hostname |
| Email Test | Send a test email to mail-tester.com | Score 9/10 or higher |
Fix Steps: Step by Step
Now for the part you’ve been waiting for — how to fix everything. I’ll organize by priority.
Login to cPanel → Zone Editor → select your domain → Edit TXT Record. Make sure you have a correct SPF record:
v=spf1 +a +mx +ip4:SERVER_IP ~all
Replace SERVER_IP with your server’s IP address. If you’re on shared hosting, ask your provider which IP is used for outgoing mail.
After editing, wait for DNS propagation (usually 1-24 hours, but can be faster). Verify with:
dig TXT domain.com | grep spf
Login to cPanel → Email → Authentication → enable DKIM. There’s usually an “Enable” button to click.
After enabling, verify the DKIM record exists in DNS. Sometimes cPanel adds it automatically, sometimes it doesn’t:
dig TXT default._domainkey.domain.com
If it’s missing, you’ll need to add it manually using the information provided by cPanel on the DKIM page.
In Zone Editor, add a new TXT record:
_dmarc.domain.com TXT "v=DMARC1; p=none; rua=mailto:dmarc@domain.com; pct=100"
Start with p=none for monitoring. Once you’re confident SPF and DKIM are correct, upgrade to p=quarantine or p=reject.
Visit mxtoolbox.com, enter your server’s IP, and check which blacklists it appears on. If listed, follow the delisting procedure for each blacklist.
Common blacklists and delisting methods:
- Spamhaus: submit-fbl.cbl-abuse.at
- Barracuda: br.barracudacentral.org/brlookup
- SORBS: surbl.org/permanent
PTR records are set by your hosting provider, not in cPanel. Contact your provider’s support and request a PTR record setup for your server’s IP pointing to the correct domain.
Verify after setup:
dig -x SERVER_IP +short
After fixing all the above, send a test email to mail-tester.com. Copy the email address they provide, send a test email from cPanel, and check your score.
Target: minimum score of 9/10. If you’re still below 8, there’s likely an unresolved issue with your SPF/DKIM/DMARC configuration.
Troubleshooting Table: Emails Going to Spam
| Symptom | Likely Cause | Solution |
|---|---|---|
| Emails to Gmail go to spam, other providers are fine | Gmail has stricter filters, likely IP reputation or DKIM issue | Check IP in Google Postmaster Tools, verify DKIM is valid |
| All emails go to spam across all providers | Missing SPF, IP blacklisted, or missing PTR | Check SPF + IP blacklist + PTR record |
| Emails go to spam after server migration | SPF/DKIM/DMARC not updated for new IP | Update all DNS records for the new server IP |
| Bulk emails go to spam | High volume without warm-up, no unsubscribe link | Warm up IP gradually, add unsubscribe link, use double opt-in |
| Emails from shared hosting go to spam | Shared IP tainted by other accounts’ spam | Request dedicated IP or migrate to VPS/dedicated server |
| Emails with attachments go to spam | Suspicious attachment type or oversized files | Use PDF format, avoid .exe/.zip, keep under 5MB |
Pro Tips from a NOC Engineer
FAQ
Q: My emails only go to spam with Gmail, but Yahoo and Outlook deliver fine. Why?
A: Gmail has the strictest spam filters among major email providers. They also use data from millions of users to train their filters. Focus on IP reputation and DKIM — these are the two factors Gmail weighs most heavily.
Q: I’ve set up SPF, DKIM, and DMARC in cPanel, but emails still go to spam. What else can I check?
A: Check three things: (1) Is your server IP on a blacklist? (2) Is your PTR record correct? (3) Does your email content contain words or patterns that trigger filters? Use mail-tester.com for a comprehensive analysis.
Q: Can shared hosting cause emails to go to spam?
A: Absolutely. On shared hosting, you share an IP with hundreds of other accounts. If one account sends spam, the IP gets flagged and your emails are affected. This is the primary reason many NOC engineers recommend VPS or dedicated servers for important email.
Q: How long does it take to clean an IP’s reputation after being blacklisted?
A: It depends on the blacklist. Some allow delisting within hours, while others (like Spamhaus) can take days or even weeks. The most important thing is ensuring your server is clean from spam activity before requesting delisting.
Q: Do I need a dedicated IP for email on cPanel?
A: If your business emails are important and you send more than 50 emails per day, a dedicated IP is strongly recommended. A dedicated IP means your reputation depends solely on your own activity, not on shared accounts.
Conclusion
Email deliverability issues aren’t about whether you’re spamming or not. Spam filters work based on technical data — SPF, DKIM, DMARC, IP reputation, PTR records, and email content. On cPanel mail servers, all of these can be configured, but many people skip the setup because it seems too technical.
Start with the simplest steps: check your SPF record, enable DKIM, and add DMARC. Then check your IP reputation on blacklists, verify your PTR record, and test deliverability with mail-tester.com.
If you’re on shared hosting and email deliverability keeps being a problem, it might be time to consider a VPS or dedicated server with a dedicated IP. The investment is worth it compared to losing important emails that never reach your clients.
Have questions or similar experiences? Drop them in the comments — I’m happy to help troubleshoot further.