Build Status





I spent most of my free time creating, updating, maintaining and supporting these plugins, if you really love my plugins and could spare me a couple of bucks as my school allowance, I will really appreciate it. If not feel free to use it without any obligations.


  • Admin - E-Mail Logs
  • Admin - Options Page
  • Admin - Templates Page
  • Sample E-Mail Post link
  • Sample E-Mail Post screen


Does it support SMTP authentication with servers utilizing SSL encryption?
  1. Yes. Go to WP-Admin -> E-Mail -> Email Options, under SMTP Server, use ssl://smtp.gmail.com:465 if you are using Gmail SMTP.
How do I add this to my theme?
  1. Open wp-content/themes/<YOUR THEME NAME>/index.php (You may place it in single.php, post.php, page.php, etc also)
  2. Find: <?php while (have_posts()) : the_post(); ?>
  3. Simply add this code inside the loop where you want the email link to display: if(function_exists('email_link')) { email_link(); }
How can I customize my E-Mail link?

Many customizations can be made from the options page (WP Admin->E-Mail->E-Mail Options).

Additionally, you can override the “E-Mail Text Link for Post” and “E-Mail Text Link for Page” options with the first two parameters of the email_link function like this:

    email_link( 'E-Mail Text Link for Post', 'E-Mail Text Link for Page');

You can also force email_link() to return the link rather than echo it by setting the third parameter to false:

if(function_exists('email_link')) {
    $email_link email_link( 'E-Mail Text Link for Post', 'E-Mail Text Link for Page', false);
} else {
    $email_link '';

echo $email_link;
How can I show my E-Mail stats?

There are two options for this:
1. You can use the included widget by going to Wp-Admin -> Appearance -> Widgets” and using the widget named “Email”
1. You can use a number of included theme functions for displaying various stats. Please continue to read these FAQs for more information.

How can I display the Most E-Mailed Posts?

Simply insert this code into your theme:

if (function_exists('get_mostemailed'))
    get_mostemailed('both', 10);

The first parameter is what you want to get, ‘post’, ‘page’, or ‘both’ and defaults to ‘both’.
The second parameter is the maximum number of posts/pages you want to get.

How can I display the Total E-Mails Sent?

Simply insert this code into your theme:

if (function_exists('get_emails'))
How can I display the Total E-Mails Sent Successfully?

Simply insert this code into your theme:

if (function_exists('get_emails_success'))
How can I display the Total E-Mails Sent Unsuccessfully?

Simply insert this code into your theme:

if (function_exists('get_emails_failed'))
How do I hide remarks when viewing E-Mail logs in WP-Admin?
  1. Open wp-email.php
  2. Find define('EMAIL_SHOW_REMARKS', true);
  3. Replace with define('EMAIL_SHOW_REMARKS', false);
How can I keep some post text from being sent in the E-Mail?

If you do not want to email a portion of your post’s content, do the following:

[donotemail]Text within this tag will not be displayed when emailed[/donotemail]

The text within [donotemail][/donotemail] will not be displayed when you are emailing a post or page.
However, it will still be displayed as normal on a normal post or page view.
Do note that if you are using WP-Print, any text within [donotemail][/donotemail] will not be printed as well.

I made changes to the CSS, how can I keep them from being overridden on the next upgrade?

WP-Email will load email-css.css from your theme’s directory if it exists. If it doesn’t exist then it will load the default email-css.css that comes with WP-Email. Just move your custom CSS to the appropriate file in your theme directory and it will be “upgrade-proof”

How can I make the E-Mail title different from the post title?

If you add a custom field with the key “wp-email-title” it will be used as the E-Mail title.

How can I set a default or suggested remark for the user?

If you add a custom field with the key “wp-email-remark” it will be placed in the remarks field in the E-Mail form.



  • FIXED: esc_attr() on form fields to prevent XSS. Props Edward Woodfall.


  • FIXED: Fixed SQL Injection in inserting email logs. Props Jxs.nl.


  • FIXED: Fixed vulnerability in get_email_ipaddress()


  • FIXED: Notices in Widget Constructor for WordPress 4.3
  • FIXED: Remove clean_pre() because it is deprecated.


  • NEW: Add viewport meta tag. Props @Luanramos
  • FIXED: Proper loading of templates. Props @ocean90
  • FIXED: Apply custom filters only to the main query. Props @ocean90


  • FIXED: Integration with WP-Stats
  • FIXED: Added in wp_nonce_field to email-options page


  • NEW: Added in wp_email_template_redirect filter to allow other plugins disable template redirect when query var contains ’email’


  • NEW: Finally there is custom post type support. Props nimmolo.
  • NEW: Allow Multisite Network Activate
  • NEW: Uses WordPress uninstall.php file to uninstall the plugin
  • NEW: Added noindex, nofollow to meta tag to email-standalone.php
  • FIXED: Use get_the_author() instead of the_author(”, false)

Contributors & Developers

This is open source software. The following people have contributed to this plugin.


Browse the code