WordPress default emails in a clean HTML layout, one switch
WordPress writes its own emails as bare plain text: the password reset, the new-user notice, the comment notification, the "your site updated" report. Next to anything else in an inbox they read like a server log. Adminkeep sends those emails, and only those, with your site's name at the top, the text in a card, and a link home at the bottom.
free · Settings → Adminkeep → Email · WordPress 6.9+
The 25 emails it covers
Every email WordPress core writes as plain text: 19 on a single site, and 6 more that exist only on a multisite network. Each one is recognised as WordPress builds it, not guessed from its subject.
Accounts · 9
- Password reset link
- New account: login details, to the user
- New account: notice to the site admin
- Password changed, to the user
- Password changed, to the site admin
- Account email changed, to the old address
- Confirm a new account email
- Confirm a new site admin email
- Site admin email changed, to the old address
Comments · 2
- New comment, to the post author
- Comment awaiting moderation
Updates and site health · 4
- WordPress updated automatically
- Plugins or themes updated automatically
- Automatic update debug report
- Technical issue (recovery mode) notice
Privacy · 4
- Personal data request: confirm
- Personal data request confirmed, to the site admin
- Personal data export ready
- Personal data erased
Multisite only · 6
- Activate a new site
- Activate a new account
- New site welcome
- New account welcome
- Confirm a new network admin email
- Network admin email changed
Left alone
- WooCommerce emails, form plugins and every other plugin's email.
- Any email that is already HTML or multipart, whoever sends it.
One layout, named after your site
Your site's name heads the email and links home. The text WordPress wrote sits in a white card, unchanged: line breaks are kept and web addresses become links, so the reset link still works. The footer names the site again with its address.
There is nothing to design and nothing to configure. The colours are WordPress admin's own, the fonts are the system's, and there are no images, so nothing has to load. Mail clients that support dark-mode styles get a dark version.
Nothing is stored. Switch the feature off and the next email goes out as plain text again.
Works with your mailer and your log
The layout is applied just before the email is handed to the mailer, so it goes out the same way with Adminkeep's own SMTP feature, with another SMTP plugin, or with no SMTP setup at all.
With Email Log on, the log holds the HTML version, which is what was sent, and its preview shows it the way a mail client would.
For developers: one filter
adminkeep_nice_emails_wrap is asked before each plain-text email goes out.
It receives true for one of core's emails and false for anything else, the email's id
(such as password_reset or comment_notification), and the
wp_mail() arguments.
Return false to keep a particular email plain, or true to give a plain-text email of your own the same layout. Emails that already declare HTML are not asked about.
See every one of them in your own inbox
Most of these emails are hard to trigger on purpose: you would need a new account, a
pending comment, an automatic update. wp adminkeep emails send makes
WordPress send each one for real, through the code that sends it on a live site, to
one address of your choosing.
What each email needs is created for the run and removed after it: a throwaway account, a private post with two comments, a personal data request. Your own accounts are not touched.
wp adminkeep feature enable nice_emails
wp adminkeep emails list
wp adminkeep emails send password_reset [email protected]
wp adminkeep emails send --all [email protected] Turn it on in a minute
- 01
Install Adminkeep from Plugins → Add New Plugin (search "Adminkeep") and activate it.
- 02
Go to Settings → Adminkeep and switch on Nice Default Emails, in the Email group.
- 03
Send yourself a password reset from the login page. It arrives in the new layout.