Awesome Open Source
Awesome Open Source

Quick Mail WordPress Plugin

Send text or html email with attachments and shortcodes from WP Dashboard or command line. Send private replies to comments. Select recipient from users or commenters. Includes WP-CLI command.


Quick Mail is the easiest way to send email with attachments to WordPress users on your site, or send private replies to comments. Compatible with multisite.

Send a quick email from WordPress Dashboard to WordPress users, or anyone. Adds Quick Mail to Tools menu and comment replies.

Send a Web page, file, or message from the command line with quick-mail command for WP-CLI.

** Does not use the Gutenberg editor or REST API. **

Edit messages with TinyMCE to add images, rich text and shortcodes.

Uses sender's name, sets reply to sender's address. Recognizes settings from Mailgun, SparkPost and Sendgrid plugins.

Multiple files from up to six directories (folders) can be attached to a message.

Privacy options to help comply with General Data Protection Regulation.


  • WP-CLI command to send a file or the contents of a Web page. Send email to a single recipient, select site users by WordPress role or send to all users.

  • Sends text or html mails to multiple recipients. Content type is determined from message.

  • Send private replies with attachments to comments.

  • Multiple recipients can be selected from users or entered manually.

  • Saves message and subject on form to send repeat messages.

  • Saves last 12 email addresses entered on form.

  • Share a WordPress draft by copying / pasting its code into a message.

  • Option to validate recipient domains with checkdnserr before mail is sent.

  • Validates international domains if idn_to_ascii is available to convert domain to Punycode.

  • Site options for administrators to hide their profile, and limit access to user list.

  • Option to add paragraphs and line breaks to HTML messages with wpauto.

  • Select recipient from users or commenters.

  • Banned domains: administrators can prevent users from sending mail to arbitrary domains.



  1. Download the latest release and unpack in your /wp-content/plugins directory.
  2. Activate the plugin through the WordPress Plugins menu.


  • How to install and activate the latest version of Quick Mail with WP-CLI :

    wp plugin install --activate


  1. Visit the settings page at Settings -> Quick Mail to configure the plugin for your site.
  2. Optional: Install WP-CLI to send mail from the command line.
  3. Optional: Install Mailgun, SparkPost or Sendgrid plugin to send reliable email.
  4. Optional: Install experimental Replace Quick Mail Sender plugin, to change administrator's credentials.


Translators / Translations

  • Quick Mail is not distributed with translations.

  • A .pot file is included for new translators.

Frequently Asked Questions

Who can send mail?

  • Users must be able to publish a post to send an email.

  • WP-CLI: By default, only administrators can send mail with the quick-mail WP-CLI command. Use the the quick_mail_cli_admin_only filter to change this.

Who can send rich text messages?

  • User must have Visual Editor enabled on their profile, to compose messages with the Visual Editor.

  • Anyone can send HTML by pasting it into a message.

Where Do I Find Sent Emails?

  • You should be able to find sent emails in your email account's Sent Mail folder.

  • Delivery services like Mailgun, SparkPost and Sendgrid also provide this information.

  • WP Mail Logging plugin saves a list of sent emails, with content of message. Plugin shows number of attachments, but does not save attachments or file names.

Selecting Recipients

  • Options to send mail to any user, or limit to users with first and last names on their profile.

  • Users need permission to list users, to view user list or change options. Minimum permission can be changed with an option or filter.

Mail Delivery Services

  • Uses Mailgun plugin settings for Administrators, if the plugin is activated, using Override "From" Details and Mailgun API.

  • Uses SparkPost plugin settings for Administrator name and email address, if plugin is activated and Overrides for name and email are set.

  • Option for administrators to use Sendgrid API.

  • Replace Quick Mail Sender is an experimental plugin that changes the Quick Mail sender's name and email address.

  • Programmers can replace their credentials by adding a filter to replace_quick_mail_sender. This only works if you are not using another mail plugin's credentials.

Sending Mail from Other Addresses

  • Install the Replace Quick Mail Sender plugin, to change the Quick Mail sender's name and email address.

  • Programmers can replace their credentials by adding a filter to replace_quick_mail_sender.

  • NOTE: Other email plugins can change these settings.


  • Requires permission to use your email address.

  • Requires permission to save email addresses. Saved addresses are cleared if permission option is changed.


  • Up to 12 manually entered recipients are saved in HTML Storage.

  • Additional recipients can be either CC or BCC but not both.

  • 99 recipients for Gmail, others.

  • Multiple files can be uploaded from up to 6 folders (directories).

  • "Uploads are disabled" on mobile devices.

Some devices cannot upload files. According to Modernizr :

iOS < 6 and some android version don't support this

  • File uploads are disabled for ancient IOS 5 devices. Please add a support message if uploads are disabled on your phone or tablet.

Address Validation

  • Check recipient domain on manually entered addresses.

  • International (non-ASCII) domains must be converted to Punycode with idn_to_ascii.

    Unfortunately, idn_to_ascii is not available on all systems.

  • "Cannot verify international domains because idn_to_ascii function not found"

    This is displayed when Quick Mail cannot verify domains containing non-ASCII characters.

  • checkdnsrr is used to check a domain for an MX record.

    An MX record tells senders how to send mail to the domain.

    This is not always accurate. Turn verification off if Quick Mail rejects a valid address.

Mail Errors

  • Quick Mail sends email with wp_mail.

    wp_mail error messages are displayed, if there is a problem.

  • "You must provide at least one recipient email address."

    wp_mail rejected an address. Seen when Quick Mail verification is off.

  • "Invalid or blocked mail address."

    You tried sending mail to a Banned Domain.

  • Error: Invalid Role (WP-CLI error)

    You tried sending mail to an unknown WordPress role. Use wp list roles to get role names.

Incompatible Plugins

Stop Emails displays To send emails, disable the plugin.

If you are using an email delivery service, you can ignore this message.

Customizing Quick Mail

  • Add a filter to modify Quick Mail.
  • What filters are available to modify Quick Mail?


Replace sender credentials. Expects associative array with values for name and email.

See Replace Quick Mail Sender plugin for examples.


Replace default CLI attachment message.


Replace default CLI attachment subject.


Replace quick mail comment style.


Replace title for private comment reply on comments list.


Replace minimum user capability.


Allow non-admin users to send mail with WP-CLI.

Additional Information

Translators and Programmers

  • A .pot file is included for translators.


Quick Mail is licensed under the MIT License. Encourage future development with a donation.


Banner image by Tumisu.

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Php (404,479
Wordpress (7,504
Wordpress Plugin (3,430
Email (2,584
Accessibility (1,267
Sendgrid (335
Wp Cli (230
Mailgun (186
Related Projects