Make WordPress Core

Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#17710 closed enhancement (wontfix)

No mails are sent after comments are moderated

Reported by: fat32 Owned by: Me
Milestone: Priority: normal
Severity: normal Version: 3.1
Component: Comments Keywords: close
Focuses: Cc:


I did a lot of research on why my wordpress blog did not send any mails when having moderated a comment after updating to WP 3.1.

I described the problem at http://wordpress.org/support/topic/some-mails-are-not-being-sent

The behaviour that I wanted to have is

1) Someone posts a comment

2) I get the request to moderate this comment (via mail)

3) I moderate (approve) it

4) I get a mail which says something like "There is a new comment on post ABC"

After updating to WP 3.1 step 4 was missed and I didn't know why. Until i found the bug in wp-includes/pluggable.php

// The author moderated a comment on his own post
 if ( $post->post_author == get_current_user_id() )
 return false;

has to be replaced by

// The author moderated a comment on his own post
 //if ( $post->post_author == get_current_user_id() )
//return false;

or simply to be removed.

My proposal would be to introduce a new option in the wordpress options which allows the blog owner to choose how his blog should behave when a comment is approved.

More info:


Change History (14)

#1 @hebbet
9 years ago

i think that (no sending) is by design because it is useless sending another mail.

  1. you get the full comment with the mail please moderate new comment
  2. you will read it when you moderate it

Is i don't understand why sending another mail…

#2 @fat32
9 years ago

A second mail is usefull because I leave it unread until I got time to post a response to it.
Whenever a new comment is made I approve it and then leave the second mail for this comment unread.

So I think it would be a great thing to get the old behaviour back (maybe optional?)

#3 @duck_
9 years ago

This is intentional. Why should the author get an email about a comment they just manually approved? (wrote this question before you replied with your use case) See #12774.

The function is in pluggable.php. This means that you can replace it in your own custom plugin to do whatever you wish.

#4 @hebbet
9 years ago

correct. One of point of wordpress' philisophy is that: Decisions not Options

so would suggest closing this bug

#5 @mikeschinkel
9 years ago

I would suggest adding a hook here to allow the plugin to enable an email to be sent, if needed.

Yes, as @hebbet and @duck_ says, sending an email doesn't "make sense" because you are the author of the email. On the other hand, there are other use-cases for which common sense would not apply, i.e. an integration with another system via email that needs to see every comment.

Adding a hook leaves the default and yet still allows someone to override if need be. And that really is the essence of the "Decisions not Options" philosophy; make the decision but let people override if really needed. If that were not the case how could there be 14,000+ plugins in the repository that all override the decisions made?

#6 @fat32
9 years ago

Ok, I'll try to write a plugin which does what I want it to do :) When it's done, I will post it here.

#7 @hebbet
9 years ago

  • Keywords close added; needs-patch dev-feedback removed

so let's close this ticket

#8 @fat32
9 years ago

One last question. You say I need to overwrite that function, in my case wp_notify_postauthor

That means that I copy the body of wp_notify_postauthor, remove the part that I do not need and paste the result in my own wp_notify_postauthor() in my plugin. Sounds simple and it is! But there is a little problem. Everytime Wordpress changes the core functinality of wp_notify_postauthor() I have to do so, too.

Am I right or don't I see how it should really be done?

#9 @fat32
9 years ago

Really seems to be the only possibilty. So my first plugin is ready to get published :D

#11 @hebbet
9 years ago

  • Resolution set to wontfix
  • Status changed from new to closed

This is intentional.

Last edited 9 years ago by hebbet (previous) (diff)

#12 @ocean90
9 years ago

  • Milestone Awaiting Review deleted

#13 @dportela
9 years ago

  • Cc dportela added
  • Version changed from 3.1 to 3.2

In spite of the plug-in solution above, I think it bears explaining *why* this was a useful feature to start with, since many people don't seem to understand. The first email gets sent from wordpress@…, while the second gets sent with the commenter's email in the from and reply-to fields. There are many instances in which you would want to reply to a person without posting your reply on the site itself. Since Wordpress doesn't include reply-by-email functionality into its comments interface, this was the closest thing you could get to being able to reply to a person quickly without posting the reply on the site.

Its removal makes a LOT more work for people who only reply by email rather than on the site itself, because they have to repeatedly select/copy/paste each commenter's email address from the body of the message into the "To" field in their replay. For people who have to deal with hundreds of comments a day and choose to reply to them via email, this is now a big pain in the butt.

It's great that there's a plugin that fixes it now. But due to the reasons above, this is something that should be considered broken, and should be fixed in my opinion. However, I'm not a developer so I won't reopen the issue.

#14 @SergeyBiryukov
9 years ago

  • Version changed from 3.2 to 3.1

Version number is used to track when the bug was initially reported.

Note: See TracTickets for help on using tickets.