Administrator comparing a forum watch list on a monitor with a simple newsletter draft on a second laptop

XenForo does not ship a newsletter product. There is no official mailing-list app in the manuals or in the docs notebook. What you have is email as a transport (lost password, watches, conversations, 2FA links), an ACP tool to contact users, and whatever you build next to the board. Discourse does have digests, mailing-list mode, and reply-by-email — and all three require SMTP. Skip mail at install and you have Discourse ID, not a digest.

This is not the push and email transport article. That one picks PHP mail versus SMTP versus Google OAuth, sets the From addresses, and turns on PWA push. Read it first if nothing leaves the box. This page assumes mail can send, and asks a different question: how do members hear from the community on a schedule they agreed to, without you turning the forum into a spam cannon.

It is also not an ESP sales page. Brevo, Mailchimp, and Buttondown appear as classes of external tool you can export toward. This article will not invent 2026 list prices, deliverability league tables, or a “best newsletter plugin.”

Decide the job before you pick a pipe

“Newsletter” is four different products people smash into one word.

Job What the member thinks they joined Right tool
Transactional “Tell me when someone quotes me” Watches, alerts, push
Digest “Catch me up once or twice a week” Discourse digest; XF watches + a self-imposed cadence; or an ESP
Announcement “Staff has one thing to say” XF Notices + an announcements forum; ACP contact users; Discourse banner / PM
Marketing list “I opted into a named letter” External ESP + consent + export. Not the forum’s user table by default

If you only needed transactional mail, stop. Turn on watches, prove transport, go back to engagement. A newsletter will not save a dead category list. The first-month Discourse article already said so for digests; it is true on XenForo too.

If you needed a marketing list, the forum is a source of consenting addresses, not the sender. That is section 6.

XenForo: three official-shaped pipes, no newsletter app

Official and notebook: no native newsletter / mailing-list product. 2.3 sends through Symfony Mailer (not SwiftMailer). Transports and envelope fields live in Setup → Options → Email options — already covered in the email article. Two config.php switches matter when you start sending in bulk:

$config['enableMail'] = true;
$config['enableMailQueue'] = true;

$config['enableMail'] is the master valve. False means nothing sends — including lost password and email-link 2FA. Do not flip it off to “pause the newsletter.” You will pause security with it.

$config['enableMailQueue'] is how XenForo avoids doing every send on the request that triggered it. Leave the queue on for a live board. A mass contact on a synchronous send is how a “quick announcement” becomes a 502. 2.3’s mailer is Symfony Mailer, not the old SwiftMailer stack. That change is why community 2.2 SMTP snippets sometimes lie: the ACP transport (PHP mail, SMTP, Google OAuth) is still the switch you pick, but the library underneath is new. If a 2021 “paste this SwiftMailer config” post disagrees with Email options, believe the ACP.

The queue still needs a runner. XenForo jobs ride the next visitor or the CLI / cron you already use for other deferred work. A quiet board that nobody visits after you click Contact users can sit on a pile of unsent mail until morning. If you are about to mail thousands of people, trigger activity (open the board, or run the job runner you already trust) and watch Tools → Cron entries / the job list. A dead cron looks like “the newsletter add-on is broken.” You do not have a newsletter add-on. You have a queue.

1. Watches (the digest you already have)

Members can watch forums and threads. Combined with their notification preferences, that is XenForo’s built-in “tell me what happened.” It is not a designed weekly magazine. It is better than a staff letter nobody asked for.

Operational habits:

  • Explain watches in onboarding. A new member who watches the announcements forum is on your staff letter without an ESP.
  • Do not watch people for them unless the product UI offers an explicit admin tool and they can unwatch. Silent subscriptions are how you earn spam complaints.
  • HTML email uses the default style for HTML email under Appearance options — a style, not a variation. If the public board is dark, keep mail on a light style so clients do not invert a dark brick. The dark mode article already walked that check.

2. ACP mass email / contact users

XenForo’s admin tools include contacting users (the exact menu label in your build is the one in Users — community wording is “contact users” / mass email). This is a staff letter, not a newsletter product:

  • Use it for “the board moves on Saturday” and “we are changing the rules,” not for a weekly recap.
  • Filter hard. A letter to everyone who ever registered includes banned accounts, bounce-farms from a phpBB import, and people who have not logged in since 2019.
  • Send a test to yourself first. Then a staff group. Then the filtered set.
  • Watch the server mail log and the queue. A transport that “worked once” in Email options can die at volume — SMTP timeout or a provider rate-limit. That is still the transport article’s failure mode.

There is no official “unsubscribe from staff contact” chapter in the notebook. Treat legal/consent reality as yours: if the letter is marketing, you need a path off the list (section 5). If the letter is a service message about the account they have, say that in the first line.

3. Notices, not inboxes

Communication → Notices plus an announcements forum is the on-site version of a newsletter. Members who never open mail still see it. The news / homepage article is the IA. Use a notice when the thing must be seen this week. Use mail when the thing must reach people who have not visited.

A third-party “newsletter add-on” may exist on the Resource Manager. This article will not pick one, invent a version, or call it official. If you install one, it still rides Symfony Mailer and the same envelope addresses. It does not exempt you from consent.

Discourse: digest, mailing-list, reply-by-email — SMTP or nothing

The official installer lets you skip SMTP. That is a documented 2026 option. Skip, and the site uses Discourse ID (id.discourse.com) plus Google / Facebook / Apple / GitHub. You get a working admin session on day one. Hosted Free can work the same way.

What you do not get without SMTP:

  • Email digests
  • Mailing-list mode
  • Reply-by-email
  • Traditional confirmation mail

The failure mode is silent. Staff log in every day, so the site feels busy. Members register through Google, post once, and never receive a digest that would have brought them back on Thursday. By day 21 you blame Discourse for engagement. You have a mail problem you chose.

Fix. Add SMTP later via Admin → Email, or re-run setup. The install guide says so. Send a test. Register a throwaway that is not Discourse ID and confirm the message lands. SPF and DKIM still matter; Discourse will not invent them. The beginner’s guide and the hosting cookbook are the ops path.

Settings the notebook actually names once mail exists:

  • reply by email enabled
  • email in allowed groups

Mailing-list mode and digest frequency live in site settings / user preferences. Exact default cadence can move; believe the admin UI. Operational rules that do not move:

  • Do not enable mailing-list mode for everyone on day four to compensate for a quiet board. That is how you train Gmail to bury you, and how you spend month two on deliverability instead of replies.
  • Digests are a summary. They will not save a dead category list. They will stop you confusing “no mail” with “no community.”
  • Reply-by-email is a support-desk feature as much as a community feature. Turn it on when you can handle inbound mail, not because it sounds complete. email in allowed groups is the gate.

Web push is not a digest. A phone banner while the app is installed is a different pipe. Fine to offer. It does not replace the Thursday recap for members who never installed anything.

A forum user table is not a marketing list. “They registered” is consent to have an account and (usually) to receive service mail: reset, security, “you were quoted” if they opted into that preference. It is not automatically consent to a weekly recap, a sponsor letter, or a third-party ESP.

Minimum process this site will stand behind (not legal advice; talk to someone who can read your jurisdiction):

  1. Say what you will send on the register / welcome path. Service mail versus optional digest versus marketing letter are three sentences, not one checkbox that says “emails.”
  2. Preference, not a trap. XenForo already has notification preferences. Discourse has digest / mailing-list / watching levels. Use those. If you add an ESP, add a custom field or an explicit subscribe form — and honour it.
  3. Export only the people who said yes. ACP user search → the consenting group or the field. CSV to the ESP. Do not dump the whole xf_user email column “to see open rates.”
  4. Bounces and leavers. When someone deletes their account or fails delivery, they leave the ESP too. A monthly reconcile is a chore. A year of ignored bounces is a reputation hole.
  5. Staff letters that are really marketing get an unsubscribe line that works. “Reply STOP” to a no-reply address is theatre.

GDPR-shaped rooms (and plenty of others): you need a record of what you claimed, when they opted in, and how they get out. The ESP’s own consent log is often better than a forum extra. That is a reason to use one, not a reason to upload everyone.

Do not scrape emails out of profiles or post bodies. That is not a newsletter strategy.

External ESPs: Brevo, Mailchimp, Buttondown

Use an external provider when:

  • You want a named letter with archive, analytics, and a real unsubscribe.
  • You send on a cadence (weekly / monthly) that is not “someone quoted you.”
  • You need double opt-in, segments, or a from-domain the forum host cannot authenticate well.
  • Your lawyer (or your host) does not want marketing volume on the same IP as password resets.

Three names, three jobs — not a ranking:

Tool Why people pick it What this article will not claim
Brevo (formerly Sendinblue) Transactional + campaigns in one vendor some EU teams already have No 2026 price, no “best deliverability”
Mailchimp Familiar campaigns, audiences, templates No free-tier promises; those change
Buttondown Small, writing-first, low ceremony No subscriber-cap story you did not look up

Other capable tools exist. If you already pay for one, stay. The integration shape is the same:

  1. Authenticate a sending domain (SPF, DKIM, often DMARC). Do this before the first campaign.
  2. Build a subscribe path the member understands (a page node, a Discourse topic, a field at register). Pre-checking the box is how you earn the complaint.
  3. Export consenting addresses. Import to an audience that is not your entire user table.
  4. Send from a name people recognize (Harbor Staff, not noreply-campaign-7). This is a different From than XenForo’s Default email address if you can manage two identities; mixing marketing and password resets on one identity is how a campaign spike buries 2FA mail.
  5. Keep transactional forum mail on the forum’s transport. Do not route lost-password through a marketing audience.

XenForo will not, in official docs, push a user to Mailchimp for you. A webhook or a small add-on can. If you do not want that code, a monthly CSV is an acceptable 400-person community. Automate when the CSV is the pain, not on day one.

Discourse webhooks can notify an external system when a user is created. That is not consent. Still require the extra click.

Cadence, voice, and what to put in the letter

A newsletter that repeats the forum index is a worse forum index. Pick a shape and keep it short.

Useful staff letter (monthly is enough for most boards):

  • One thing that changed (rules, URL, downtime).
  • Three threads worth a reply, with links that work on a phone.
  • One event or deadline.
  • How to watch / unwatch / unsubscribe.

Useful digest (Discourse, or an ESP recap):

  • What happened since last time, not since launch.
  • New topics in the rooms you asked them to care about, not every tag.
  • A single CTA: reply to X, show up at Y.

Do not:

  • Paste four sponsor blocks above the first human sentence.
  • Send on a day you also send a security reset test to the same From.
  • Switch from weekly to daily because activity dipped. That is how you train filters and people.
  • Use mailing-list mode as a panic button.

Write like the staff voice you already use on the board, not like a growth funnel. Members gave you an address because they joined a room. Be that room.

HTML versus plain text: XenForo HTML mail must stay readable in two clients, including ones that force a dark canvas. A light, simple template wins. Discourse digests are the product’s HTML; do not replace them with a 200 KB builder template on day one.

A worked month on XenForo (no ESP yet)

  1. Prove transport. Test mail, SPF/DKIM, queue on. Email article.
  2. $config['enableMail'] true, $config['enableMailQueue'] true.
  3. HTML email style is a light, readable style.
  4. Onboarding post: how to watch the announcements forum. Staff actually watch it.
  5. Write this month’s staff letter in a staff-only thread first. Edit it. Then ACP contact the group that opted in (or “recently active + registered + not banned,” if this is a service outage letter).
  6. Send to staff only. Read it on a phone and in a desktop client.
  7. Send to the filtered set. Watch bounces.
  8. Next month: if you still want a named letter, pick an ESP, add a consent field, export 50 volunteers, send issue zero. Do not export 40,000 addresses on a Friday.

A worked month on Discourse (SMTP first)

  1. If you skipped SMTP, add it. No SMTP, no digest. Beginner guide.
  2. Test mail in Admin → Email. Throwaway user, not Discourse ID.
  3. Turn digests on. Leave mailing-list mode off globally.
  4. Welcome topic: what a digest is, how to change frequency, how to watch a category.
  5. A week later, open the same throwaway inbox. If nothing arrived, you do not have a newsletter problem. You have DNS or a provider problem.
  6. reply by email enabled only after you know who may email in.
  7. If you still want a branded letter, ESP + consent, same as XenForo. Discourse is not Mailchimp.

What usually looks like a newsletter bug

Symptom Likely cause First move
Nothing sends enableMail false, queue stuck, SMTP skip (Discourse) Config + Admin → Email / XF test
Only staff get mail They log in; members use Discourse ID / never watch Throwaway member test
Everything lands in spam No SPF/DKIM, From is apache@box, volume spike DNS, envelope name, slow down
“Unsubscribe” does nothing You sent marketing from the forum contact tool ESP + real consent, or stop
2FA / reset delayed Marketing and transactional share a throttled IP Split identities
Members furious Daily mailing-list mode on day four Turn it off; apologise once
Dark brick in Gmail HTML email style is the public dark style Separate email style

What this is not

It is not a native XenForo newsletter manual. That product is not in the notebook or the manuals. We said so twice on purpose.

It is not the transport chapter and not the security checklist, except where mail is a reset path.

It is not permission to upload the whole user table to a US or EU ESP and call it growth. Consent first.

It is not an analytics bake-off. Open rates live in the ESP. Forum health lives on the forum.

Checklist

  • Job named: transactional, digest, announcement, or marketing list.
  • XF: no “enable newsletter” hunt. Watches + contact users + notices.
  • $config['enableMail'] / enableMailQueue understood; queue on.
  • Discourse: SMTP exists before anyone promises a digest.
  • Mailing-list mode not global in month one.
  • Consent text on register / welcome; export only yeses.
  • ESP (Brevo / Mailchimp / Buttondown / the one you already pay for) only after a cadence exists.
  • Marketing From ≠ password-reset From if you can split them.
  • HTML email style readable on a light client.
  • Throwaway member received the letter; staff inbox is not the only test.

Takeaways

  • XenForo has no native newsletter. Symfony Mailer sends watches, 2FA, and ACP contact-users. That is the product. An ESP is how you get a named letter.
  • Discourse digests / mailing-list / reply-by-email are real, and they require SMTP. Skip mail at install and you chose Discourse ID. Stop promising Thursday recaps.
  • Consent is the difference between a community letter and a list you will spend a year cleaning. Export yeses. Reconcile leavers.
  • Brevo, Mailchimp, and Buttondown are examples of an external ESP, not a ranking. Authenticate the domain. Keep transactional mail on the forum.
  • A notice plus a watched announcements forum will outperform a weekly PDF of the index. Write short. Send rarely. Measure replies, not just opens.

Prove transport this week. Watch the announcements forum. If you still want a magazine, pick an ESP and ask fifty people if they want it — then send issue zero to them, not to 2009.