Where Did My Brain Go?

Send Email from WordPress with Quick Mail

Discover the latest version of Quick Mail.

Quick Mail is a WordPress plugin that sends an email with an attachment from the WordPress dashboard. Quick Mail includes options to send email to members of your site, or anyone.

Download Quick Mail now, or read on for more information.

Quick Mail was published two years ago. This update adds valuable features.

Send Email to Multiple Recipients

I added a CC field to Quick Mail 2.0.0, because I wanted to send a page to several users, and it was annoying to resend the message.

The CC field can contain multiple addresses. Multiple addresses can be selected from users, as shown.

NOTE: Press <Control> on Windows and Linux, or <Command> on Macs while clicking, to select multiple users on desktop computers.

It “just works” on mobile devices.

Saved Addresses

Select Saved Recipients

Enter multiple “CC” addresses, by separating them with a space or comma. If you want to send mail to your buddies, who are not WordPress users, Quick Mail will save up to 12 addresses. Quick Mail rejects duplicate addresses, if you select an address twice.

Multiple email addresses require more validation, to eliminate duplicates. It also takes more time to check multiple domains for a mail server with checkdnserr.

Javascript Promises

On previous versions of Quick Mail, I validated a single mail address using jQuery.get() to connect to a PHP program.

Email addresses were saved after the user pressed “Send.”

This stopped working because the Javascript functions were still running when the form was submitted. I tried using jQuery.ajax() with async off, to remove the ‘A” from Ajax. However, the page was unresponsive without async. In Firefox, Thunderbird and SeaMonkey, “synchronous requests on the main thread have been deprecated due to the negative effects to the user experience.”

Relative Link

I improved performance by removing the domain from the script URL. I thought a Web browser would lookup a domain once, but it seemed to happen on every script load.

I removed network_site_url() from plugins_url() to create the link. Incidentally, I used network_site_url to be compatible with multisite. This function returns the same value as site_url on a single site.

E.g. script = '/wp-content/plugins/quick-mail/qm_validate.php'

When Is It Done?

Quick Mail 2.0.0 uses jQuery.when() to check email addresses.

It does not matter if validation is not complete when the email is submitted, because addresses are checked before the email is sent.

Recent addresses are saved with Web Storage when the page is reloaded, after the message is sent.

Mailing WordPress Page Drafts to Multiple Recipients

As I mentioned, I like using Quick Mail to send WordPress page drafts to users for review. It is easy:

The recipient receives a fully styled page. If you just want to send content, paste the contents from the page editor.


Quick Mail 2.0.0 is compatible with WordPress Multisite(MU). Menus and options are indentical.

User Display Options

Counting admin users

Quick Mail finds users and their roles with get_users(). WordPress 4.4 added role__not_in to select users who are not administrators.

Red Totals for Non-Admin Users

Display Options with Hidden Administrators

Totals are displayed in red if administrators are hidden. This needs a better explanation for users who did not read this article. I considered adding a “tooltip,” but they do not work on mobile devices.

New Messages

There are 44 new messages, related to new features in Quick Mail 2.0.0. Here are some explanations.

Quick Mail requires Javascript
Previous versions of Quick Mail sent mail without Javascript. Javascript is required to save addresses.
File uploads were disabled by system administrator
You cannot attach a file to a message, because uploads are disabled in your system’s configuration. If you are the administrator, see File Uploads to edit your configuration.
You do not have sufficient privileges to access user lists (on this site).
Help message to explain why you cannot edit user list setting. “on this site” is displayed on multisite.
User totals are adjusted because administrator profiles are hidden
Displayed on setup help. User totals are displayed in red when total is adjusted.
Duplicate mail address
You entered an address twice. It might be the same recipient and CC or a duplicate in the CC list. Quick Mail removes the duplicate address.
Duplicate Attachments
Quick Mail does not remove duplicate attachments. Quick Mail does not send mail if duplicate attachments were found.
Three user profiles are required for user lists
You need enough profiles for sender, recipient, CC.
Three non-administrator profiles are required for user lists.
Same a previous, except administrator profiles are hidden.

Future Enhancements

Quick Mail could use an address book, to save addresses permanently. I would still like to add a feature to send an email to all users on a site.

Get Quick Mail

Download Quick Mail 2.0.0 from the WordPress Plugin Repository. Fork Quick Mail on GitHub to add new features.

Quick Mail 2.0.0 was tested with WordPress 4.6.1, including multisite.

I hope Quick Mail increases your productivity. Please leave a review to help others find it.

Thanks to everyone who has been translating Quick Mail. Please join the translation project so more people can use Quick Mail in their language.

Review my previous articles on Quick Mail for more information. Download Quick Mail to try it now.