Comment E-Mail Verification

Comment E-Mail Verification is a WordPress Plugin. It sends an e-mail message to the comment author when a comment is held for moderation. The e-mail message contains a link to verify the comment author’s e-mail address. When the comment author clicks on that link the comment gets approved immediately. This makes discussions more lively as users don’t have to wait for the blog admin to approve the comment.

This plugin is in still in early development. The current version number is 0.4.2

Please go to to download and test it!

A list of shortcodes for the message template is available here.

  1. Thank you very much…

  2. I tested version 0.2 of this plug-in on WordPress 2.9.2, and no email is sent when I create a comment. The comment appears in the moderation queue, and I get the notification with the following message:

    Your comment is awaiting moderation.
    If you verify your address your comment will be approved immediately. Instructions have been sent to you by e-mail.

    But no email was sent. I am using the default settings for the plug-in. I have a wordpress email address for my domain name. Is there something else I have to do to send the email to the commenter?

  3. Mark: could you post the URL to your blog? I tried guessing it from your mail address but must have hit the wrong one.

    Is e-mail delivery from your blog working in general? I.e. do you get moderation messages to the admin e-mail address? Do post authors receive notification messages when there are new comments on their posts? If not, then this plugin will probably not work either. You may be able to get it to work, though… Please bear with me while I am still working on this page:

    Please note that the verification link is sent to the mail address specified by the comment author, not to the blog admin.

  4. Here’s my blog URL:

    I did get moderation messages sent to my admin email address, but I turned them off because I was getting too many spam messages. I do get emails when someone legit (has had one comment approved) comments on my posts.

    The problem I am having is no email is sent to the comment author’s email address. As a test, I posted a comment on one of my posts using a phony name and my Yahoo email address. I signed on to my Yahoo account to check for the verification email, but there was no email.

    If you go to my blog URL, I have a contact link where you can send me an email if you would prefer to discuss this further via email.

  5. Yahoo will be covered on my troubleshooting page… I think they’re (part of) the reason this didn’t work.

    Please try this again with a different address! Your regular e-mail address (the one you have the notifications sent to) should be just fine if you use a phony name! (WordPress auto-approves a comment only if both the e-mail address and name match, so the phony name should put you in the right position.)

    Please also note that no verification link will be sent if Akismet (or sk2 or any plugin in that league) catches the comment and puts it in the spam queue.

    You may also try posting a comment using my address (I will e-mail it to you) with the plugin turned on, so I can check my messages and/or mail server logs and see what can be done…

    Thanks for your feedback by the way, as this will probably help me improve this plugin further.

  6. If you provide the option to delete comments whose email addresses were not verified. That would stop commentators who use fake ids, without waiting for the admin to moderate comments, easier house keeping I’d say!

  7. Shabayek: I will take that into consideration.
    I think this would need a timeframe during which commentators can verify their comments. What (default) timeframe would you suggest?

  8. Hi

    I was wondering if your plugin works along with Comments with OpenId. Also once a comment form a commentator was approved is there any confirmation email for next comments from that same commentator?

    Thank you R

  9. Another excellent plugin. Well done. I am curious – have you considered writing plugins for profit or are you committed to OS? Do you make much in donations?

  10. Radek: sorry for not replying any sooner.

    I have not tested this with/against the OpenId plugin.

    Whether or not there is a confirmation message depends on the “Comment author must have a previously approved comment” option of WordPress. Turn it on and there will be only one confirmation message. Turn it off and there will be a confirmation message for every comment.

    Michael: I made zip in donations so far. I do write software for profit. I actually have so much to do that I haven’t felt a need to do any serious marketing here. I do ask all client whether it’s OK to open-source the generic portions of the project. My queue of unpublished code is quite long, but I have so much to do… you get the idea.

  11. Hi Martin, I think Comment E-mail Verification looks like a very good plugin, but unfortunately WordPress 3.0 seems to break its functionality. Would you please consider updating it for WP 3.0?

    Thank you!

  12. I’ve been working with your plugin trying to get it to work in my specific situation (and it’s an odd one).

    I use the Simple Facebook Connect (SFC) plugin to allow people to comment with their Facebook credentials, I allow users to register with WordPress to make comments, and I allow ‘anonymous’ comments.

    I only wanted the ‘anonymous’ comments (no registration required) to be moderated.

    I ran into a few problems along the way which I’ll share here for anyone else that might want to do the same thing (why on earth would you want to?!)

    1) It seems that if another hook modifies a comment’s status before yours, via wp_set_comment_status, that change does not follow through to your hook. To fix this, I changed line 94 of comment-email-verify.php to:

    if ( ‘0’ == $status || wp_get_comment_status($id) == ‘unapproved’ )

    2) I had to fire my custom hook in between SFC and Comment E-Mail Verification (CEV). Since both SFC and CEV have a priority of 10, I had to change line 219 of comment-email-verify.php to:

    add_action ( ‘comment_post’, array ( ‘comment_email_verify’, ‘comment_post’ ), 20, 2 );

    This let me put my hook at a priority of 15 for maximum workingness.

    Check out if you want to see my hook and the way it was horribly hacked together–but at least it works!

  13. Peter: sorry for not replying any sooner.

    I’ve tested my plugin with WordPress 3.0 and it worked for me. I suspect that you encounter difficulties sending mail. Try using the SMTP feature!

    Or please provide more details about your setup. Does “WordPress 3.0 seems to break its functionality” mean that you had it working under a previous version?

  14. Emrikol: Thanks for sharing this. I will look at your code later… I will also investigate whether your changes to the plugin have any affect on my installs and if they don’t I might add your changes to a future version.

  15. An option to delete all comments whose verification email bounced would be awesome as Shabayek said. 12 hours ain’t so bad ;-)

    P.S: You might need to install the subscribe to comments plugin.

  16. I like the idea of the pugin but still don’t want comments posted until i’ve verified them, what I’d like t ostop is just dumb or abusive comments being posted with out email verification and then allowing me to check them..

    This plugin is only half way there, any way of adapting it to allow admin authorisation as well ?

  17. I don’t see an easy solution lurking around the corner here, as you just proposed an additional comment status. Right now there are:

    Unapproved (held for moderation)

    I am not sure whether it would be easy to add “not spam but E-mail unverified” to that enumeration.

  18. I’ll actually give it a thought. I will need to find a way to distinguish between permanent and non-permanent errors though, as some mail servers also send delay reports.

  19. Hi, thanks for this great plugin!!!!

    I only have a question: How can I set always the status to “Unapproved” until a moderator approves it? I’m looked for that but not found in plugin settings neither discussion settings.


  20. @ Udegbunam Chukwudi – Great idea.
    “P.S: You might need to install the subscribe to comments plugin.”

    I would also like to see subscribe to my (Whatever you are offering) Newsletter/Video Tutorials/Updates on ….. checkbox.

  21. This is a great Plugin and is something i was thinking to have for my blog. I get lots of Comments on my blog as it receives good traffic. And most of the comments are SPAM. So this way of verification will surely going to Help me to make my site clean and saving lot of time of mine.

  22. Hi Martin. I’ve been testing your plugin over the last day on a new site and have found it really useful. Thank you. One thing I’d prefer, however, is for the plugin to still permit manual moderation — similar to one or two comments above — rather than overriding all other moderation settings.

    For me, the verification of email address is also a way of reducing the number of trolls who might try to comment anonymously – but some trolls are still arrogant enough to use their real email address, so messages from new commenters should still be put in moderation after verification.

  23. Lawcom, Jose, Duncan:

    I have spent some more time thinking about your requests and I think I’ve found a way to show whether the verfification link has been clicked or not in the list of unmoderated comments… I will need a couple of longer train-rides though to incorporate that into my code as I still don’t have any own projects requiring that feature. – When there is a new version your WordPress admin should notify you ;)

  24. Thanks so much for incorporating the additional moderation. My testing today indicates that it seems to be working as expected. The only slight change needed is the message a commenter gets upon verification — it says the comment has been approved. (I changed it manually to “Thanks for verifying your email address. Your comment might still need to be checked by the site-owner. Click here to see its status.”)

  25. Hi there!

    I am trying out this plugin, but so far I haven’t had any success making it work.

    When I write a comment it is simply posted straight up – I do not get any hint about the comment needing mail verification and I do not get any email for verification.

    E-mails work fine from my site – I do get a mail every time someone posts a comment.

    Any thoughts?


  26. Hi Stian,

    When comments are posted straight up you should check/try the following things:

    Log out – usually comments from logged in users are never held for moderation

    Post a comment with an E-mail address which you have never used before to comment on the same blog

    Adjust your moderation settings to hold all comments (something like “an administrator must approve every comment” in the Discussion settings or near the bottom of my plugin’s settings; I’m travelling and I don’t have a test installation at hand;))

    Let me know if any of these do the trick!


  27. Heya Martin and thanks for the quick reply!

    I turned on “An administrator must always approve the comment ” and tested logged out and with a new email address.

    The comment did not get posted immediately and the message “Your comment is awaiting moderation” (or similar) was shown – not the comment I specified in the settings for your addon.

    I received two emails – one for my administrators account telling me I had a new comment awaiting moderation.

    I also received a mail on the new email addressed telling me to verify the email address.

    When I verified the address the comment was posted – I didn’t need to moderate it.

    So, I guess it’s almost working now…I just need to get the message to the user explaining that they need to check their email to verify their email address.

    Any idea why it’s not fully working?


  28. I just tested some more and with the current settings I need to verify my email everytime I post a comment – even though I verified it earlier.


  29. Stian: the plugin is working, that’s what I meant to test by setting “An administrator must always approve the comment”.

    Please note that my plugin does not influence at all when/whether a comment is held for moderation. Only when a comment is held, for whatever reason, it sends a message to the comment author.

    Please review all the options on the discussion settings page carefully to fine-tune this.

    As for the “your comment is awaiting moderation” bit: if your theme is not using a gettext call to display this message, using the default text domain, the plugin cannot change the message. You may want to consider editing your theme, either to make it use the same gettext calls as the old default theme or twentyten, or just put whatever message you want to have in there manually/statically.

    Hope this helps?

  30. Thanks again, Martin.

    I got it working acceptably well now.

    I had to turn on the setting “Comment author must have a previously approved comment”.

    I also had to edit my theme since it was making its own message for “Your comment is awaiting moderation”.

    Thanks again :)


  31. Hi,

    Just installed your plug-in (0.4 beta). It did not function though. I got a 403 forbidden error when activating. I rushed through your PHP code and discovered that you use a plus character to combine comment id and key (line 102). However, when exploding (line 229) you use a space character. That won’t work ever I guess ;) . I replaced the space by a plus character and now it’s working like a charm.

    Hope this helps! Keep up your good work! Happy coding ;) !

    Cheers, Bert

  32. Hi Bert,

    That’s very interesting. I use the plus in the query string part of the URL where spaces do not work. That plus gets decoded to a space when parsing the query string. Well: usually, I should say.

    What platform are you on? Operating system of the web server? Web server (eg Apache, Nginx, IIS)? PHP version? You may also send me the output of phpinfo() if you like. I would like to try to reproduce this so I can provide support for your kind of setup and fix my code.

    Cheers, Martin

  33. Hi,

    nice plug-in but I can’t get it to generate an email to notify the blog/site moderator that a comment is awaiting moderation. It generates a verification email alright to the comment authors email. any suggestions or maybe is it a mail server issue.

    also when the comment is approved in the wordpress backend no email is generated to tell the author it is live.

    thanks. p

  34. Hi Patrick,

    The moderation notification is a WordPress feature! The plugin does not generate nor interfere with those messages.

    You should check the “Discussion Settings” page where you will find an option labeled “E-mail me whenever [ ] A comment is held for moderation” (also copied to my plugin’s options page, scroll to bottom)

    AND you should check the E-mail address you put in on the “General settings” page; the “for admin purposes”

    I will think about the message to the author if the admin approves the comment… this would definitely be a new feature for the plugin, but it’s an interesting thought. Thanks for the input.

  35. Hey thanks for feedback Martin, will have a look at the discussion settings page now. thanks p

  36. tried all the above Martin, but still no joy in getting an email to generate when a comment is made. maybe some SMTP weirdness on the server but its sending the other form emails alright. kinda painful for client as they have to log in every few days to check if there are comments made. anyway besides thsat nice plug-in.

  37. Just a test

  38. Hi Martin,

    Just installed what appears to be a brilliant plugin.

    How do I edit the PHP file to display the comment box exactly like yours:

    Steve Smith on July 12, 2011 at 2:53 pm
    Just a test


  39. Hi Martin,

    Just installed what appears to be a brilliant plugin.

    How do I edit the PHP file to display the comment box exactly like yours with the date alongside the name and Leave A Reply changed to Reply plus changing the wording of the essential items that must be completed- Name, Email, Website etc…

    Thanks in anticipation

    Steve Smith

  40. Hi Steve,

    You haven’t left a link to your site. Your question might be much easier to answer if I can see what theme you’re using. Please add a link to your next comment or E-mail me to the address martinhh at gmail dot com!

  41. Hi Martin,

    I am testing it on this site

    but it is destined for this site which has currently LiveFyre installed

  42. Hi Steve,

    You’re using the Suffusion theme… I just looked up the source code on the website and here’s what you have to do:

    For the name and date to appear side by side you have to edit the comment.php file of the theme. The stuff you’re looking for is inside the <div class="comment-author fix vcard"> container.

    The phrase “Leave a Reply” and the comment form labels are in comments.php (mind the s in the filename).

  43. Hello. Thanks for your plugin, it’s just what I’m looking for.

    But, I have a few problems I hope you can help me with…

    I uploaded and enabled the plugin, and then (because I want comments to be held in moderation even after the comment has been email verified) I checked the ‘Turn off self approval’ checkbox, and edited the text boxes to make them more appropriate.

    But the problem is that when someone comments, the comment goes through to moderation even before the user has clicked on the verification link. And despite what the plugin description says, there is no indication in comments admin whether the comment has been email verified or not.

    When the user clicks on the verification link, the comment is still held in moderation, but there is still no indication that it’s been verified or not.

    At this point it makes the plugin essentially useless to me, but hopefully some pointers from you may help me to get it working.

    Thanks in advance, and for your good work.

  44. Hi Craig,

    What you’re describing is the correct behaviour. The hint whether the E-mail address has been verified or not is placed next to the link “Approve” in the admin area of your blog. It may only become visible on mouse-over. – I know it could be more prominent, but I really only gave it more thought after I released that feature. It’s something that’ll change in a future version of the plugin.

    Cheers, Martin

  45. Hi

    I have implemented your plugin in one heavily commented blog. And your plugin works quite well

    (your plugin is in a way excellent)

    However, I have a few suggestions:
    Settings in use: Splash screen & moderate even after email verified

    1. regarding verification link, on first click, it works fine
    but on second click, it shows message “address could not be verified”.

    2. When an email address has already been verified previously, then the comment should automatically show that email address verified – instead of sending the verification email again.

    Another variation that can be done is that if an email has been verified within certain period – say previous 6 months (best if user configurable) – then the comment status should automatically show as email verified.

    3.Perhaps there should be a page listing all verified emails.

    I’m using your plugin at:


  46. thanks so much for this plugin! i’m travelling at the moment, and would have missed / delayed comments on – no, it’s not that many, but important :-)
    i have one question though – is it possible to export the email addresses people give? would be a good way to include people who comment in my mailing list.
    thanks a lot, robbert

  47. Hi;

    I’m using your great plug-in at We only accept comments from our own employees. After we run a validation script to ensure the email is from our organization’s domain, we are using your plug-in to verify:

    1. The email is an email capable of receiving email (i.e. there’s a live person at the other end and it’s not just a made-up address on the correct domain)
    2. The comment submitter is the true author of the comment (i.e. one employee isn’t pretending to be another).

    Sometimes our staff don’t put their email correctly into the comment form— either due to a typo or just because they do not use their work email very often due to the type of job they have with us.

    It would be very helpful if you could add a link to “resend validation email” beside the “Approve (pending E-mail verification)” link in the comments dashboard screen. This way once I correct the address typo and update the comment I could put them back into the validation que.

    Thanks again for all your work on this great tool.

  48. Is there any way to disable the auto appended verify link?

    “* If you don’t use [verification-url] that information will be appended to your message after a blank line.”

    I’m using this plugin solely for sending an email to pending comments and don’t necessarily need the verification URL in the message.


  49. I think the plugin is great. So far it appears to be working correctly for commenters and it will give me the results I need. A few questions. When the commenter submits the comment the message that the comment requires verification appears in the same screen. Is it possible to make the message a separate popup to make it more noticeable to the user, otherwise I’m not sure they recognize that further action is required. I have a lot of pending verifications.

    Also, when a commenter’s address is verified does the plugin continue to ask for verification for any future comments they submit?

    Thanks again for your hard work. This plugin really works well.

  50. Hello, I seem to be having a problem with Comment E-Mail Verification or it could be I expected something different. I have a word press site (shown above) and every day I will get anywhere from 50 to 100 bogus comments to my blog. Some of the comments will be things like:

    The early bird catches the worm
    An eye for an eye
    Two fries short of a happy meal
    The jury is still out
    A Roland for an Oliver … and on and on!

    These stupid remarks just about make me crazy. I had been using Hashcash, but all it does is check for values and still sends all the comments through to pile into my email and admin.

    I thought the way your plugin might work is if a bogus comment is sent, the plugin would send the validation email to the commenter and if the email is not validated, I would never have to see 95% of the ridiculous junk I keep getting. Almost like a spam filter!

    If your plugin can be set to work as I need please let me know what I am missing?

  51. Hi
    Great Plugin (Thank You)

    I have it working fine except for 1 small issue which is when the Comment Auther recieves the email to approve the comment they first have to login which is normal but as soon as they login they get an error message saying they do not have access rights to the admin panel.

    My users do not and will not have accesss rights so how can I over come this problem please. Can the approval page be setupexternally or in the users profile page it’e self,, at least this way every profile would have access to the approval page without requiring admin access.

    If so can you you either help me or guide me through this change please.


  52. Thanks for developing this plug-in! We’re using it on an employee blog to verify that the people are actual employees (i.e. their email address on our domain—verified by a script—is real).

    One feature request. Please give admins the ability to resend the the verification email. Sometimes there is a typo in the supplied email address, which is a quick fix on our side, but then we have to verify the employee’s comment manually by email, which is a lot of back and forth.

  53. When an email address has already been verified previously, then the comment should automatically show that email address verified – instead of sending the verification email again.

    Please reply me i need your help to cross my hurdle it s urgent

  54. we love the plugin but we are stuck on this issue please reply to my comment…thanks in advance

  55. @dhanasekar
    You need to go to “Discussion Settings” (wp-admin/options-discussion.php) and check “Comment author must have a previously approved comment”. And/or you may need to uncheck “An administrator must always approve the comment”.

  56. Martin,
    In using your Comment Verification plugin version 0.4.2 with my WordPress version 3.8.1 website, no email is being sent to the comment author. I have opted to withhold immediate approval of the comment after the author clicks on the url which is included in the email which should be sent to the author. I have determined that no email is being sent to the author by sending comments to the site myself and using my own email accounts at and as the destination for the email to the author. Also my website host’s email account which should be sending the email to the author does not show that the emails were sent. This feature did work ok when I was using previous versions of WordPress and previous versions of your plugin.

  57. Hi Lee,

    I’ve tested the plugin with the latest WordPress 3.8.1 and it works as intended.

  58. Hello!
    First, thanks for the effort in developing this plugin.
    I wonder if I can use your plugin as a filter span, for when the checkbox keep comments in the moderation queue is checked, and notification of new comments to modderados too, he let the temporary posting a comment, as it is gives with for the Contact Form 7, warning new comment to be moderated only after the E- mail was confirmed?
    The last time we tested your plugin in a facility, he always warned E- mails to be moderate, even if the link had not been confirmed.
    Finally, sorry for the mistakes in English, because I live in Brazil and I’m using Google translator to write to you.

  59. Martin,

    I’ve been working with your plugin today and it seems to be working as designed but my goal was to snag comments before they went to moderation and send them into limbo where I don’t have to even look at them until the commenter confirms their address. After reading all of the comments here I see I was not alone in my wish. Have you looked into this any further to see if this is possible with minimal coding on your part?

    This certainly seems to be a untapped area for wordpress plugins. Even the contact form plugin mentioned by a previous poster appears to be unsupported by the developer. I’d pay for a premium plugin that helped cut down on spam and trolls for comments/contact and didn’t require registration.

  60. Hey, thank you for sharing this plugin with us. It was really helpful. I came across a website,, that provides Email Verification and Email List Cleaning Services in the USA.


Your email address will not be published.