Index: comment-template.php
===================================================================
--- comment-template.php	(revision 34138)
+++ comment-template.php	(working copy)
@@ -2123,3 +2123,40 @@
 			do_action( 'comment_form_comments_closed' );
 		endif;
 }
+
+/**
+ * Returns the text used to display comments in notifications.
+ *
+ * @since 4.x
+ *
+ * @param int $comment_id The Comment ID.
+ * @return string Comment Text.
+ */
+function get_comment_notify_text( $comment_id ) {
+	$comment_author_domain = @gethostbyaddr($comment->comment_author_IP);
+	$type = get_comment_type( $comment_id );
+	if ( in_array ($type, array( 'pingback', 'trackback' ) ) ) {
+	/* translators: 1: website name, 2: website IP, 3: website hostname */
+		$notify_text = sprintf( __('Website: %1$s (IP: %2$s, %3$s)'), get_comment_author( $comment_id ), get_comment_author_ip( $comment_id ), $comment_author_domain ) . "\r\n";
+		$notify_text .= sprintf( __( 'URL: %s' ), get_comment_author_url( $comment_id ) ) . "\r\n";
+		$notify_text .= sprintf( __( 'Excerpt: %s' ), "\r\n" . get_comment_text( $comment_id ) ) . "\r\n\r\n";
+	}
+  else {
+	/* translators: 1: comment author, 2: author IP, 3: author domain */
+		$notify_text = sprintf( __( 'Author: %1$s (IP: %2$s, %3$s)' ), get_comment_author( $comment_id ), get_comment_author_ip ($comment_id ), $comment_author_domain ) . "\r\n";
+		$notify_text .= sprintf( __( 'E-mail: %s' ), get_comment_author_email( $comment_id ) ) . "\r\n";
+		$notify_text .= sprintf( __( 'URL: %s' ), get_comment_author_url( $comment_id ) ) . "\r\n";
+		$notify_text .= sprintf( __('Comment: %s' ), "\r\n" . get_comment_text( $comment_id ) ) . "\r\n\r\n";
+	}
+	/**
+	 * Filter the comment text to be used for email notifications.
+   *
+   * This generates the display of a comment for notifications.
+   *
+   * @since 4.4
+   *
+   * @param string $notify_text The Comment Notify Text.
+	 * @param int $comment_id The ID of the comment being displayed.
+             */
+	return apply_filters( 'comment_notify_text', $notify_text, $comment_id );
+}
Index: pluggable.php
===================================================================
--- pluggable.php	(revision 34138)
+++ pluggable.php	(working copy)
@@ -1433,45 +1433,14 @@
 		$emails = array_flip( $emails );
 	}
 
-	$comment_author_domain = @gethostbyaddr($comment->comment_author_IP);
-
 	// 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);
-
-	switch ( $comment->comment_type ) {
-		case 'trackback':
-			$notify_message  = sprintf( __( 'New trackback on your post "%s"' ), $post->post_title ) . "\r\n";
-			/* translators: 1: website name, 2: website IP, 3: website hostname */
-			$notify_message .= sprintf( __('Website: %1$s (IP: %2$s, %3$s)'), $comment->comment_author, $comment->comment_author_IP, $comment_author_domain ) . "\r\n";
-			$notify_message .= sprintf( __( 'URL: %s' ), $comment->comment_author_url ) . "\r\n";
-			$notify_message .= sprintf( __( 'Comment: %s' ), "\r\n" . $comment->comment_content ) . "\r\n\r\n";
-			$notify_message .= __( 'You can see all trackbacks on this post here:' ) . "\r\n";
-			/* translators: 1: blog name, 2: post title */
-			$subject = sprintf( __('[%1$s] Trackback: "%2$s"'), $blogname, $post->post_title );
-			break;
-		case 'pingback':
-			$notify_message  = sprintf( __( 'New pingback on your post "%s"' ), $post->post_title ) . "\r\n";
-			/* translators: 1: website name, 2: website IP, 3: website hostname */
-			$notify_message .= sprintf( __('Website: %1$s (IP: %2$s, %3$s)'), $comment->comment_author, $comment->comment_author_IP, $comment_author_domain ) . "\r\n";
-			$notify_message .= sprintf( __( 'URL: %s' ), $comment->comment_author_url ) . "\r\n";
-			$notify_message .= sprintf( __( 'Comment: %s' ), "\r\n" . $comment->comment_content ) . "\r\n\r\n";
-			$notify_message .= __( 'You can see all pingbacks on this post here:' ) . "\r\n";
-			/* translators: 1: blog name, 2: post title */
-			$subject = sprintf( __('[%1$s] Pingback: "%2$s"'), $blogname, $post->post_title );
-			break;
-		default: // Comments
-			$notify_message  = sprintf( __( 'New comment on your post "%s"' ), $post->post_title ) . "\r\n";
-			/* translators: 1: comment author, 2: author IP, 3: author domain */
-			$notify_message .= sprintf( __( 'Author: %1$s (IP: %2$s, %3$s)' ), $comment->comment_author, $comment->comment_author_IP, $comment_author_domain ) . "\r\n";
-			$notify_message .= sprintf( __( 'Email: %s' ), $comment->comment_author_email ) . "\r\n";
-			$notify_message .= sprintf( __( 'URL: %s' ), $comment->comment_author_url ) . "\r\n";
-			$notify_message .= sprintf( __('Comment: %s' ), "\r\n" . $comment->comment_content ) . "\r\n\r\n";
-			$notify_message .= __( 'You can see all comments on this post here:' ) . "\r\n";
-			/* translators: 1: blog name, 2: post title */
-			$subject = sprintf( __('[%1$s] Comment: "%2$s"'), $blogname, $post->post_title );
-			break;
-	}
+	$notify_message  = sprintf( __( 'New response to your post "%s"' ), $post->post_title ) . "\r\n";
+	$subject = sprintf( __('[%1$s] Response: "%2$s"'), $blogname, $post->post_title );
+	/* translators: 1: blog name, 2: post title */
+	$notify_message .= get_comment_notify_text( $comment_id );
+	$notify_message .= __( 'You can see all responses to this post here: ' ) . "\r\n";
 	$notify_message .= get_permalink($comment->comment_post_ID) . "#comments\r\n\r\n";
 	$notify_message .= sprintf( __('Permalink: %s'), get_comment_link( $comment ) ) . "\r\n";
 
@@ -1567,40 +1536,14 @@
 			$emails[] = $user->user_email;
 	}
 
-	$comment_author_domain = @gethostbyaddr($comment->comment_author_IP);
 	$comments_waiting = $wpdb->get_var("SELECT count(comment_ID) FROM $wpdb->comments WHERE comment_approved = '0'");
 
 	// 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);
+	$notify_message  = sprintf( __('A new response to the post "%s" is waiting for your approval'), $post->post_title ) . "\r\n";
+	$notify_message .= get_comment_notify_text( $comment_id );
 
-	switch ( $comment->comment_type ) {
-		case 'trackback':
-			$notify_message  = sprintf( __('A new trackback on the post "%s" is waiting for your approval'), $post->post_title ) . "\r\n";
-			$notify_message .= get_permalink($comment->comment_post_ID) . "\r\n\r\n";
-			/* translators: 1: website name, 2: website IP, 3: website hostname */
-			$notify_message .= sprintf( __( 'Website: %1$s (IP: %2$s, %3$s)' ), $comment->comment_author, $comment->comment_author_IP, $comment_author_domain ) . "\r\n";
-			$notify_message .= sprintf( __( 'URL: %s' ), $comment->comment_author_url ) . "\r\n";
-			$notify_message .= __('Trackback excerpt: ') . "\r\n" . $comment->comment_content . "\r\n\r\n";
-			break;
-		case 'pingback':
-			$notify_message  = sprintf( __('A new pingback on the post "%s" is waiting for your approval'), $post->post_title ) . "\r\n";
-			$notify_message .= get_permalink($comment->comment_post_ID) . "\r\n\r\n";
-			/* translators: 1: website name, 2: website IP, 3: website hostname */
-			$notify_message .= sprintf( __( 'Website: %1$s (IP: %2$s, %3$s)' ), $comment->comment_author, $comment->comment_author_IP, $comment_author_domain ) . "\r\n";
-			$notify_message .= sprintf( __( 'URL: %s' ), $comment->comment_author_url ) . "\r\n";
-			$notify_message .= __('Pingback excerpt: ') . "\r\n" . $comment->comment_content . "\r\n\r\n";
-			break;
-		default: // Comments
-			$notify_message  = sprintf( __('A new comment on the post "%s" is waiting for your approval'), $post->post_title ) . "\r\n";
-			$notify_message .= get_permalink($comment->comment_post_ID) . "\r\n\r\n";
-			$notify_message .= sprintf( __( 'Author: %1$s (IP: %2$s, %3$s)' ), $comment->comment_author, $comment->comment_author_IP, $comment_author_domain ) . "\r\n";
-			$notify_message .= sprintf( __( 'Email: %s' ), $comment->comment_author_email ) . "\r\n";
-			$notify_message .= sprintf( __( 'URL: %s' ), $comment->comment_author_url ) . "\r\n";
-			$notify_message .= sprintf( __( 'Comment: %s' ), "\r\n" . $comment->comment_content ) . "\r\n\r\n";
-			break;
-	}
-
 	$notify_message .= sprintf( __('Approve it: %s'),  admin_url("comment.php?action=approve&c=$comment_id") ) . "\r\n";
 	if ( EMPTY_TRASH_DAYS )
 		$notify_message .= sprintf( __('Trash it: %s'), admin_url("comment.php?action=trash&c=$comment_id") ) . "\r\n";
@@ -1608,8 +1551,8 @@
 		$notify_message .= sprintf( __('Delete it: %s'), admin_url("comment.php?action=delete&c=$comment_id") ) . "\r\n";
 	$notify_message .= sprintf( __('Spam it: %s'), admin_url("comment.php?action=spam&c=$comment_id") ) . "\r\n";
 
-	$notify_message .= sprintf( _n('Currently %s comment is waiting for approval. Please visit the moderation panel:',
- 		'Currently %s comments are waiting for approval. Please visit the moderation panel:', $comments_waiting), number_format_i18n($comments_waiting) ) . "\r\n";
+	$notify_message .= sprintf( _n('Currently %s response is waiting for approval. Please visit the moderation panel:',
+ 		'Currently %s responses are waiting for approval. Please visit the moderation panel:', $comments_waiting), number_format_i18n($comments_waiting) ) . "\r\n";
 	$notify_message .= admin_url("edit-comments.php?comment_status=moderated") . "\r\n";
 
 	$subject = sprintf( __('[%1$s] Please moderate: "%2$s"'), $blogname, $post->post_title );
