How to Create a Mailing List in cPanel (and Fix Bounce Issues)
Mailing lists are one of the most overlooked tools in cPanel's Email menu. Most people set one up once for a newsletter or a team alias, walk away, and only come back when subscribers stop getting mail or the list starts bouncing everything. Here's how the feature actually works under the hood, and how to fix the three problems that generate the most support tickets.
What a cPanel Mailing List Actually Is
When you create a mailing list in cPanel, you're not getting a custom Getwebup feature — you're getting Mailman, the open-source list manager, wired into your account. cPanel just gives it a friendlier front door. That matters because most of the quirks below (moderation queues, bounce scoring, admin passwords) are Mailman behavior, not a hosting bug.
A list has three pieces you should know about before you touch anything:
- The list address — e.g.
team@yourdomain.com— anyone can send to it. - Subscribers — the people who receive a copy of every accepted post.
- The Mailman admin panel — a separate web interface (not cPanel itself) where posting rules, bounce handling, and membership actually live.
Creating a List
- In cPanel, go to Email > Mailing Lists.
- Enter a list name (e.g.
team) and pick the domain — this becomesteam@yourdomain.com. - Set an admin password. Write it down somewhere other than your memory; you'll need it again the first time something breaks.
- Click Add. cPanel provisions the list and shows a Manage link that logs you straight into the Mailman admin panel.
- From the admin panel, add subscribers under Membership Management > Mass Subscription, one email per line.
That's the easy part. The interesting failures start once real traffic hits the list.
Symptom: Messages Sent to the List Never Arrive
Cause: by default, Mailman only auto-accepts posts from people who are already subscribed to the list. Everyone else's message gets held for moderation — silently, with no bounce and no error to the sender. If your team alias gets email from clients who aren't on the list, this looks exactly like "the list is broken" when it's actually working as designed.
Fix:
- Open the Mailman admin panel (the Manage link in cPanel, or
yourdomain.com/mailman/admin/listname). - Go to Privacy options > Sender filters and check held_message_count — anything sitting there is why "nothing arrived."
- Approve or discard held messages from that same page.
- If non-subscribers legitimately need to post (a "contact us" style alias), change generic_nonmember_action from "Hold" to "Accept," or add trusted addresses to the non-member allow list instead of opening it up entirely.
Symptom: Subscribers Get Silently Unsubscribed
Cause: Mailman tracks bounces per subscriber and auto-removes anyone who crosses the bounce_score_threshold (5 by default) within the bounce window. The catch: Gmail and Outlook occasionally generate soft-bounce-looking responses — a full inbox for a day, a temporary greylist — that count toward the score even though the address is perfectly fine long-term. On a small internal list, one person's mailbox having a bad week can quietly drop them from every future email.
Fix:
- In the admin panel, go to Bounce processing and check bounce_info_stale_after — if it's set too high, old bounces never expire and scores accumulate instead of resetting.
- Raise bounce_score_threshold for lists with a small, known set of subscribers where you'd rather manually manage removals.
- For lists under 20-30 people, it's often simpler to turn bounce processing off entirely (bounce_processing = No) and handle bad addresses by hand — the automation isn't worth the false positives at that scale.
Symptom: List Mail Lands in Spam or Gets Rejected Outright
This is the one that trips up experienced admins, because it isn't an SPF or DKIM record problem on your domain — it's a structural mismatch that Mailman creates on its own.
Cause: when Mailman forwards a post to the list, it keeps the original sender's address in the From: header but sends the actual message through your server's mail path. If the original sender's domain publishes a strict DMARC policy (p=reject or p=quarantine, which Gmail, Yahoo, and most corporate domains do now), the receiving server sees a From header that doesn't align with the sending server and rejects or quarantines the message — even though your own domain's SPF/DKIM/DMARC is set up correctly.
Fix:
- In the Mailman admin panel, go to Privacy options > Sender filters (or General Options on newer versions) and look for dmarc_moderation_action.
- Set it to Munge From — this rewrites the visible From header to the list address while keeping the original sender's name and adding a "via team@yourdomain.com"-style reply-to, so DMARC alignment passes.
- If that option isn't present, the Mailman version on the account may be older; ask support to enable
dmarc_moderation_actionat the server level, or wrap the message body instead (Wrap Message) as a fallback. - Test the fix by sending from a Gmail address to the list and checking the delivered copy's headers for
Authentication-Results: dmarc=pass.
If you've already got SPF, DKIM, and DMARC dialed in for your own domain's regular mail, this is a separate, list-specific fix — don't spend time re-checking your DNS records first.
Symptom: Locked Out of the List Admin Panel
Fix: cPanel's Mailing Lists page always has a working Manage link that logs you into Mailman without needing the password, as long as you're logged into cPanel itself. Use that to reset the admin password under General Options > Passwords instead of trying to recover the old one. If you've lost cPanel access too, that's an account-level password reset, not a list-level one — the list and its subscribers aren't affected either way.
Symptom: List Traffic Trips Your Email Sending Limit
A list with a few hundred subscribers can burn through a shared hosting account's hourly outgoing email cap in a single send, because Mailman counts each individual delivery, not each message. If you're seeing sends fail partway through and the rest queue up for the next hour, that's the same per-account sending limit that affects any high-volume email — worth checking your hourly count in WHM > Email > Email Trace and requesting a limit increase from support if the list is a legitimate, growing part of your business.
Preventing Mailing List Headaches
| Practice | Why it matters |
|---|---|
| Check the held-message queue weekly | Catches silent moderation holds before someone assumes the list is dead |
| Export the subscriber list monthly | Gives you a backup if a list ever needs to be rebuilt from scratch |
| Turn off aggressive bounce processing on small lists | Avoids losing real subscribers to one bad mail day |
| Set dmarc_moderation_action to Munge From up front | Prevents rejected posts from Gmail/Yahoo/Outlook subscribers |
| Keep the admin password in a shared password manager | Stops list changes from depending on one person's memory |
Frequently asked questions
Is a cPanel mailing list the same as an email marketing tool like Mailchimp?
No. cPanel's mailing lists run on Mailman, which is built for discussion groups and internal team aliases where subscribers reply and interact. It has no campaign analytics, unsubscribe-compliance tracking, or template editor, so it isn't a substitute for a dedicated newsletter platform if you're doing marketing sends to a large list.
Why do messages I send to my own list not show up in my inbox?
Check Mailman's General Options for a setting like 'nomail' or the sender's own subscription options - many lists exclude the original poster from receiving their own message back by default, which is normal Mailman behavior, not a delivery failure.
Can I move subscribers from one list to another without re-adding everyone by hand?
Yes - export the member list from Membership Management as a plain text file (one address per line), then use Mass Subscription on the new list to import it in one paste. Do this before deleting the old list, since deleting it removes the subscriber data permanently.
Does a mailing list need its own SPF or DKIM record?
No. The list sends through your domain's existing mail infrastructure, so your normal SPF and DKIM records already cover it. The DMARC issue described above is about the original sender's domain, not yours, which is why fixing your own DNS records won't resolve it.