Index: wp-includes/comment-functions.php
===================================================================
--- wp-includes/comment-functions.php	(revision 33934)
+++ wp-includes/comment-functions.php	(working copy)
@@ -2391,3 +2391,66 @@
 
 	return $open;
 }
+
+
+/**
+ * Notify a comment author when his comment gets approved.
+ *
+ * @since 4.4.0
+ *
+ * @param string     $new_status New comment status.
+ * @param string     $old_status Previous comment status.
+ * @param WP_Comment $comment    Comment object.
+ * @return bool Whether the email was sent successfully.
+ */
+function wp_notify_commenter( $new_status, $old_status, $comment ) {
+        if ( 'approved' !== $new_status ) {
+                return false;
+        }
+
+		$post   = get_post( $comment->comment_post_ID );
+		$author = get_userdata( $post->post_author );
+
+        if ( ! $post ) {
+            return false;
+        }
+
+        // The comment was left by the author & The author moderated a comment on their own post
+        if ( ! $notify_author && $comment->user_id == $post->post_author && $post->post_author == get_current_user_id()) {
+        	return false;
+        }
+
+        // The blogname option is escaped with esc_html on the way into the database in sanitize_option
+        // we want to reverse this for the plain text arena of emails.
+        $blogname = wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES );
+
+        /* translators: 1: blog name, 2: post title */
+        $subject = sprintf( __( '[%1$s] Your comment on "%2$s" got approved' ), $blogname, $post->post_title );
+
+        $notify_message = sprintf( __( 'Howdy %s,' ), $comment->comment_author ) . "\r\n\r\n";
+        $notify_message .= sprintf( __( 'Your comment on the post "%1$s" got approved.' ), $post->post_title ) . "\r\n\r\n";
+        /* translators: 1: comment author, 2: author IP, 3: author domain */
+        $notify_message .= sprintf( __( 'View comment: %s' ), get_comment_link( $comment ) ) . "\r\n";
+
+        /**
+         * Filter the comment approval notification email text.
+         *
+         * @since 4.4.0
+         *
+         * @param string     $notify_message The comment notification email text.
+         * @param WP_Comment $comment        Comment object.
+         */
+        $notify_message = apply_filters( 'comment_approval_notification_text', $notify_message, $comment );
+
+        /**
+         * Filter the comment approval notification email subject.
+         *
+         * @since 4.4.0
+         *
+         * @param string     $subject The comment notification email subject.
+         * @param WP_Comment $comment Comment object.
+         */
+        $subject = apply_filters( 'comment_approval_notification_subject', $subject, $comment );
+
+        return wp_mail( $comment->comment_author_email, wp_specialchars_decode( $subject ), $notify_message );
+}
\ No newline at end of file
Index: wp-includes/comment-template.php
===================================================================
--- wp-includes/comment-template.php	(revision 33934)
+++ wp-includes/comment-template.php	(working copy)
@@ -1928,7 +1928,7 @@
 			<?php printf( __( '<cite class="fn">%s</cite> <span class="says">says:</span>' ), get_comment_author_link() ); ?>
 		</div>
 		<?php if ( '0' == $comment->comment_approved ) : ?>
-		<em class="comment-awaiting-moderation"><?php _e( 'Your comment is awaiting moderation.' ) ?></em>
+		<em class="comment-awaiting-moderation"><?php _e( 'Your comment is awaiting moderation. You will receive an email when it gets approved.' ) ?></em>
 		<br />
 		<?php endif; ?>
 
@@ -1993,7 +1993,7 @@
 					</div><!-- .comment-metadata -->
 
 					<?php if ( '0' == $comment->comment_approved ) : ?>
-					<p class="comment-awaiting-moderation"><?php _e( 'Your comment is awaiting moderation.' ); ?></p>
+					<p class="comment-awaiting-moderation"><?php _e( 'Your comment is awaiting moderation. You will receive an email when it gets approved.' ); ?></p>
 					<?php endif; ?>
 				</footer><!-- .comment-meta -->
 
Index: wp-includes/default-filters.php
===================================================================
--- wp-includes/default-filters.php	(revision 33934)
+++ wp-includes/default-filters.php	(working copy)
@@ -334,6 +334,9 @@
 add_action( 'split_shared_term', '_wp_check_split_nav_menu_terms', 10, 4 );
 add_action( 'wp_split_shared_term_batch', '_wp_batch_split_terms' );
 
+// Comments.
+add_action( 'transition_comment_status', 'wp_notify_commenter', 10, 3 );
+
 /**
  * Filters formerly mixed into wp-includes
  */
