Sending a newsletter from WordPress: plugins, services and the rules to follow

Running a newsletter from WordPress is easy to start and surprisingly easy to get wrong. The hard part is not writing the email; it is collecting consent properly and getting messages into inboxes.
Two ways to do it
There are two broad architectures, and choosing between them matters more than choosing a particular product.
Everything inside WordPress
A newsletter plugin stores subscribers in your WordPress database, gives you an editor for composing campaigns, and sends the emails. Well-known options in the official plugin directory include MailPoet and the plugin simply called Newsletter; Jetpack also offers a newsletter feature that turns posts into emails for subscribers. The appeal is ownership: your list lives in your own database, and new posts can be emailed automatically.
The catch is delivery. A plugin that sends through your web host's PHP mail function inherits that server's reputation, and shared hosts often cap outgoing mail per hour. Serious in-site setups therefore pair the plugin with a dedicated sending service, either one offered by the plugin's developer or a transactional provider connected over SMTP or an API (see Sending WordPress email through SMTP).
An external email service with a WordPress sign-up form
The alternative is to keep the list at an email service provider such as Mailchimp, Brevo (formerly Sendinblue), Kit (formerly ConvertKit) or Buttondown, and use WordPress only for the sign-up form, through the provider's official plugin, an embed code, or a forms plugin integration. The provider handles bounces, complaints, unsubscribe links and sending infrastructure. You trade some control and a monthly fee (above each provider's free tier) for much less maintenance.
| Plugin inside WordPress | External service | |
|---|---|---|
| Where the list lives | Your database | The provider's platform (exportable) |
| Sending infrastructure | Your host or a connected sending service | The provider |
| Bounce and complaint handling | Depends on the plugin and sending service | Built in |
| Post-to-email automation | Usually built in | Via RSS campaigns or integrations |
| Main risk | Poor deliverability, server load | Lock-in, cost as the list grows |
Collecting subscribers properly
Use double opt-in
With double opt-in, a new subscriber must click a confirmation link before receiving anything. It stops people from signing up someone else's address, keeps typo addresses off your list, and gives you a record of consent. Every serious newsletter plugin and provider supports it; turn it on.
Be clear at the point of sign-up
Say what people will receive and how often, next to the form. If your audience includes people in the European Union or the UK, the GDPR applies: consent must be freely given, specific and informed, which rules out pre-ticked boxes and burying the newsletter inside a contact form's general consent. The UK Information Commissioner's Office has a readable guidance on direct marketing and electronic communications.
Ask for little
An email address is enough. Each extra field lowers sign-ups and adds personal data you must protect. Collect a first name only if you will actually use it.
Rules every message must follow
In the United States, the CAN-SPAM Act requires commercial email to identify the sender honestly, use non-deceptive subject lines, include a valid physical postal address, and offer a working opt-out that is honoured within 10 business days. The Federal Trade Commission's CAN-SPAM compliance guide lists the requirements. Other countries have their own rules, generally stricter about consent.
Mailbox providers add technical requirements on top of the law. Since February 2024, Google and Yahoo require senders who send large volumes to their users (Google sets the threshold at around 5,000 messages a day to Gmail addresses) to authenticate mail with SPF and DKIM, publish a DMARC policy, keep spam complaint rates low, and support one-click unsubscribe as defined in RFC 8058. Smaller senders are still expected to have SPF or DKIM in place. See Google's email sender guidelines and Yahoo's sender best practices. Reputable providers and newsletter plugins add the one-click unsubscribe headers for you, but the DNS records for your domain are your job.
Authenticating your domain
Three DNS records tell receiving servers that mail claiming to come from your domain is legitimate:
- SPF is a TXT record listing the servers allowed to send for your domain. You should have only one SPF record; if you use several services, merge their
include:mechanisms into it. - DKIM adds a cryptographic signature to each message. Your sending service gives you one or more records (TXT or CNAME) to publish.
- DMARC is a TXT record at
_dmarc.yourdomainthat tells receivers what to do when SPF or DKIM checks fail, and where to send reports. Starting withp=noneand a reporting address lets you watch the results before tightening the policy.
Make sure the address in the From field uses the domain you authenticated. Sending "from" a Gmail or Yahoo address through a third-party service will fail DMARC alignment, because those providers publish strict DMARC policies.
Writing emails that render
Email clients are far less capable than browsers. Keep layouts to a single column, use inline styles or a template built by your plugin or provider, give every image meaningful alt text, and always send a plain-text alternative alongside the HTML version (most tools generate it automatically). Test in at least Gmail, Outlook and Apple Mail before sending to the whole list; most providers include previews or a test-send feature.
Keeping the list healthy
- Remove hard bounces immediately; good tools do this automatically.
- Periodically ask long-inactive subscribers whether they still want your emails, and remove those who do not respond. A smaller engaged list delivers better than a large silent one.
- Never import purchased or scraped lists. Beyond the legal problems, they contain spam traps that can get your domain blocklisted.
- Keep sending at a regular rhythm. Long silences followed by a sudden large send look suspicious to filters and confuse subscribers.
Quick decision guide
If your newsletter is mostly "email new posts to subscribers" and the list is small, an in-site plugin with a proper sending service is simple and keeps data in one place. If you plan campaigns, segmentation and automations, or expect a large list, an external provider with a WordPress form will save time and protect deliverability. In both cases, double opt-in, authenticated DNS and a visible unsubscribe link are not optional.
The DNS records behind sender authentication are explained step by step in SPF, DKIM and DMARC for WordPress email.
Email & newslettersWhy WordPress mail goes missing
Why WordPress emails disappear or land in spam, how wp_mail() works, and how to route site mail through an authenticated SMTP server or sending service.
Email & newslettersWordPress and Gmail SMTP
How to send WordPress email through a Gmail or Google Workspace account today: server settings, app passwords, OAuth, the Workspace SMTP relay, limits and pitfalls.
Logins & site adminLightweight visitor statistics
How to count visitors on a WordPress site without a heavy analytics suite: privacy-friendly plugins, self-hosted Matomo, hosted alternatives and server logs compared.