Email Encoder Bundle Plugin – Protect Email Address

Encode mailto links, email addresses, phone numbers and any text to hide them from (spam)bots. Mailto links will be protected automatically.


  • Protect mailto links and plain email addresses
  • Protect phone numbers (or any text or html)
  • Also supports special chars, like é, â, ö, Chinese characters etcetera
  • Also protect your RSS feeds
  • Use shortcodes, template functions, action and filter hooks
  • Use the Encoder Form to manually create encoded scripts

Easy to use

After activating the plugin all mailto links will be protected automatically. You could use shortcodes or template functions to protect plain email addresses, phone numbers or other text.


  • PHP version 5.2.4 or up
  • WordPress version 3.6 or up



  • Jim 12 February 2010 Reply

    Hi, Thanks for the plugin! I might suggest an addition:

    // also filter widgets
    add_filter( ‘widget_text’, array( &$this, ‘encode_filter’ ), 100 );

    • Victor 13 February 2010 Reply

      Good suggestion Jim!
      I will add the filter for widgets.

  • tuxfoto 3 May 2011 Reply

    bei mir funzt die DArstellung seit Update auf 3.1.2 nicht mehr.
    Ist das mein Fehler?
    Ist bei 3 Blog´s so, mit verschiedenen Providern.

  • David Bullock 24 May 2011 Reply

    Hi Victor,

    LOVE the plugin. I’m experiencing an issue however with my dashboard when the plugin is activated. None of the dashboard boxes will open/close.

    Have you experienced this or had any other reports of it? Any pointers on how to fix it?


  • Pete Schreiner 28 May 2011 Reply

    Seems to be working GREAT! I did remove the language=”javascript” line as I am using HTML5. Thanks!

    • Victor 1 June 2011 Reply

      @David: I had one more report of the dashboard toggle issue. Untill now, I haven’t succeed in reproducing the problem on my wordpress installations. Do you have any more details? (version of wp and plugin, your plugin options etc)

      @Pete: Thanks!
      About the language="javascript", that should have been type="text/javascript" (which is optional in html5). Will be solved in the next version.

  • John 12 July 2011 Reply

    A bit of a noob question, but how do I know if the plugin works (using WP 3.2)? And, what happens if the user doesn’t have JS installed?

    The output HTML is as follows:


    *protected email*

  • John 12 July 2011 Reply

    Uh! All the above code has vanished, hopefully you get the idea nonetheless.

    • Victor 12 July 2011 Reply

      Hello John, if that’s the output than the plugin works. If you use a JavaScript enconding method and JS is disabled in the browser, only the text *protected email* will be shown (instead of the mailto link).

  • John 12 July 2011 Reply

    Thank you for the prompt reply! Would you recommend using another form of encoding in the event of JS being disabled? Or do most people have JS enabled as default these days?

    • Victor 12 July 2011 Reply

      Maybe a few percent has disabled JS.

  • Jonny007-MKD 6 December 2011 Reply

    your protection crashed “my” image rotation so I took a look into it.

    just a little change in
    return ‘(function() {‘
    . ‘var ML=”‘. $MailLettersEnc .'”;’
    . ‘var MI=”‘. $MailIndexes .'”;’
    . ‘var OT=””;’
    . ‘for(var j=0;j<MI.length;j++){'
    . 'OT+=ML.charAt(MI.charCodeAt(j)-48);'
    . '}document.write(OT);})()*protected email*’;
    Now it’s an anonymous function with local variables –> much safer (which this image rotation should also use, but unfortunately doesn’t).

  • Mick 11 December 2011 Reply

    Hello Victor,
    great plugin. I would like it to also encode emails from bbpress 2 plugin. I tried adding filters like,
    add_filter( ‘bbp_reply_content’, array( $this, ‘_filter_callback’ ), $priority );
    but found they had no effect.
    I would also love to know how to make it encode emails in All in 1 calendar plugin without having to hack the plugin code. Is this possible?

  • Mick 11 December 2011 Reply

    Correction: emails in All in 1 calendar plugin are being automatically encoded.
    So encoding emails in bbpress2 plugin is my only request.

  • Mick 11 December 2011 Reply

    After testing I found the following filters will cause email addresses in BBPress plugin topics and replies to be encoded.
    add_filter( ‘bbp_get_reply_content’, array( $this, ‘_filter_callback’ ), $priority );
    add_filter( ‘bbp_get_topic_content’, array( $this, ‘_filter_callback’ ), $priority );

    It would be great if you would include these filters in your plugin.

    • Victor 11 January 2012 Reply

      Hello Johny and Mick,
      Thanks for your input. I will put it on the todo list for next release.

  • Lyelle 16 April 2012 Reply

    All-In-One Event Calender Filter (ai1ec)

    Im no expert on this but
    add_filter( ‘the_content’, array( &$this, ‘_filter_callback’ ), PHP_INT_MAX – 1 );
    is working for me.

  • Chris 14 June 2012 Reply

    Hi Victor, I am also getting the same problems as those below. I really like your plugin but have had to change for the moment. Any ideas on a fix? All my WP and Plugins are up-to-date. I am using Thesis.

    @David: I had one more report of the dashboard toggle issue. Untill now, I haven’t succeed in reproducing the problem on my wordpress installations. Do you have any more details? (version of wp and plugin, your plugin options etc)

  • Paul 22 June 2012 Reply

    The plugin is great. I would love to see an update with the above mentioned updates as well as an option to either search the whole page, or if that is not good for speed, to search the header and footer where most of us will put email addresses.

    Also please feel free to put a donate button in the options page, I would like to throw a few bucks your way.

  • nvrau 31 July 2012 Reply

    Hi Victor,

    How can I include a title for mouse-hover to the eMail address?


  • John 20 August 2012 Reply

    OK never mind the apostrophe. Looks like the error was mine!

    • Victor 30 January 2013 Reply

      @Leyelle: thanks for your reaction.

      @Chris: Does the new version fixes your problems?

      @Paul: No donation needed, your appreciation is reallly enough. Btw, most suggestions are implemented in version 0.60.

      @Nvrau: should also be possible with the new version, like:
      [encode_email email=”” display=”My Mail” extra_attrs=”title=’My own title'”]

  • Tamara 5 February 2013 Reply

    Hello – Thanks for your plugin. I just updated to 0.71 and now the text following the encoded e-mail address is pushed to a new line that is spaced further apart from the other lines of text. If there’s anything you can do for this issue I would really appreciate it. Thanks!

  • Andres F. 11 August 2013 Reply

    Hi Victor,

    Love your plugins (I use email encoder bundle and WP External Links). I’m working on a site in which there’s a custom post type that inserts a mailto link on the post via a custom field. For some reason, the email encoder plugin is not taking effect on that particular mailto link (it does everywhere else). Is there a way to “add” encoding via template tags? I’m comfortable editing templates.

    Please let me know. Thanks!!

    • Victor 17 December 2013 Reply

      Sorry for the late response.

      @Tamara: Do you have an example?

      @Andres: Thanks. And yes there is a template function:
      < ?php echo encode_email('', 'Mail Me!'); ?>

  • David 3 September 2014 Reply


    Plugin is excellent and works fine on website, but unfortunately its breaking checkout process in wordpress with all three kinds of encoding (js and html)

    do u have any solution for this ?

    thanks so much!

  • David 3 September 2014 Reply

    im sorry, i meant checkout in woocommerce !!!

  • Paul 2 October 2014 Reply

    Hi Victor

    I’ve installed your plugin and checked all settings – however the email address in the top header is still displaying in the source code. Is there a fix I can do for this?


    • Victor 2 October 2014 Reply

      Hi Paul, the plugin automatically encodes emails only within the posts. For other emails you should use the template functions.

      If you want a plugin to scan your whole page automatically, you might be better of with WP Mailto Links.

  • Bob 26 October 2015 Reply

    The text “*protected email*” is being added at the beginning of the post extract on the first page of this site. I have another site, supposedly configured identically, that doesn’t display this problem. Any idea what might be causing this anomaly?

  • Bob 26 October 2015 Reply

    The problem appears to have been caused by the “Social Media Feather” plugin. I turned of the email option and the note disappeared.

  • Claudia 28 January 2016 Reply


    Thank you for your plugin.

    How can I verify if it is working?

    Just for peace of mind reasons.



  • hazardowe 1 March 2016 Reply

    “Social Media Feather??? can not be a problem

  • Kate 27 October 2016 Reply


    I’ve received a security threat warning regarding the following snippet contained in the class-eeb-site.php file:


    Can you please advise as to this?

    Thank you,

    • victor 29 October 2016 Reply

      Hello Kate,
      How did you receive the warning?

      The plugin provides 3 encoding methods “html encode”, “JS Escape” and “JS Rot13”. The “JS Escape” function uses the eval() function.
      I will recommend using the other JS method: “JS Rot13”.

  • Jeff Klein 29 October 2016 Reply

    Is your plugin still working with most current version of WordPress?
    Please let me know as I would like to use it on my site.

    • victor 29 October 2016 Reply

      Hello Jeff, yes it does still work on the latest WP version.

  • Alan 15 November 2016 Reply

    I am receiving an error on at least two websites today, both on the same shared server through Host Gator. It appears to be associated with your plugin. Could you advise what to do?

    The error is:
    Warning: require_once(includes/class-eeb-site.php): failed to open stream: No such file or directory in /home/saltspri/public_html/wp-content/plugins/email-encoder-bundle/email-encoder-bundle.php on line 31

    Fatal error: require_once(): Failed opening required ‘includes/class-eeb-site.php’ (include_path=’.:/opt/php54/lib/php’) in /home/saltspri/public_html/wp-content/plugins/email-encoder-bundle/email-encoder-bundle.php on line 31

Leave a Reply