Index: src/wp-includes/comment-template.php
===================================================================
--- src/wp-includes/comment-template.php	(revision 43331)
+++ src/wp-includes/comment-template.php	(working copy)
@@ -2536,3 +2536,45 @@
 	 */
 	do_action( 'comment_form_after' );
 }
+
+
+/**
+ * Returns the text used to display comments in notifications.
+ *
+ * @since 5.0
+ *
+ * @param int|WP_Comment $comment WP_Comment or the ID of the comment for which to retrieve the author.
+ * @return string Comment Text.
+ */
+function get_comment_notify_text( $comment ) {
+	$comment = get_comment( $comment );
+	if ( empty( $comment ) || empty( $comment->comment_post_ID ) )
+		return false;
+	$comment_author_domain = @gethostbyaddr($comment->comment_author_IP);
+	$type = get_comment_type( $comment );
+	$text = wp_specialchars_decode( get_comment_text( $comment ) );
+
+	if ( in_array( $type, array( 'pingback', 'trackback' ), true ) ) {
+        	/* 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 ), get_comment_author_ip( $comment ), $comment_author_domain ) . "\r\n";
+		$notify_text .= sprintf( __( 'URL: %s' ), get_comment_author_url( $comment ) ) . "\r\n";
+		$notify_text .= sprintf( __( 'Excerpt: %s' ), "\r\n" . $text ) . "\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 ), $comment_author_domain ) . "\r\n";
+		$notify_text .= sprintf( __( 'E-mail: %s' ), get_comment_author_email( $comment ) ) . "\r\n";
+		$notify_text .= sprintf( __( 'URL: %s' ), get_comment_author_url( $comment ) ) . "\r\n";
+		$notify_text .= sprintf( __('Comment: %s' ), "\r\n" . $text ) . "\r\n\r\n";
+	}
+	/**
+	 * Filter the comment text to be used for email notifications.
+	 *
+	 * This generates the display of a comment for notifications.
+	 *
+	 * @since 5.0
+	 *
+	 * @param string $notify_text The Comment Notify Text.
+	 * @param WP_Comment $comment The comment being notified
+	 */
+	return apply_filters( 'comment_notify_text', $notify_text, $comment );
+}
Index: src/wp-includes/pluggable.php
===================================================================
--- src/wp-includes/pluggable.php	(revision 43331)
+++ src/wp-includes/pluggable.php	(working copy)
@@ -1517,56 +1517,17 @@
 
 		$switched_locale = switch_to_locale( get_locale() );
 
-		$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 );
-		$comment_content = wp_specialchars_decode( $comment->comment_content );
 
-		switch ( $comment->comment_type ) {
-			case 'trackback':
-				/* translators: %s: post title */
-				$notify_message = sprintf( __( 'New trackback on your post "%s"' ), $post->post_title ) . "\r\n";
-				/* translators: 1: trackback/pingback website name, 2: website IP address, 3: website hostname */
-				$notify_message .= sprintf( __( 'Website: %1$s (IP address: %2$s, %3$s)' ), $comment->comment_author, $comment->comment_author_IP, $comment_author_domain ) . "\r\n";
-				/* translators: %s: trackback/pingback/comment author URL */
-				$notify_message .= sprintf( __( 'URL: %s' ), $comment->comment_author_url ) . "\r\n";
-				/* translators: %s: comment text */
-				$notify_message .= sprintf( __( 'Comment: %s' ), "\r\n" . $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':
-				/* translators: %s: post title */
-				$notify_message = sprintf( __( 'New pingback on your post "%s"' ), $post->post_title ) . "\r\n";
-				/* translators: 1: trackback/pingback website name, 2: website IP address, 3: website hostname */
-				$notify_message .= sprintf( __( 'Website: %1$s (IP address: %2$s, %3$s)' ), $comment->comment_author, $comment->comment_author_IP, $comment_author_domain ) . "\r\n";
-				/* translators: %s: trackback/pingback/comment author URL */
-				$notify_message .= sprintf( __( 'URL: %s' ), $comment->comment_author_url ) . "\r\n";
-				/* translators: %s: comment text */
-				$notify_message .= sprintf( __( 'Comment: %s' ), "\r\n" . $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
-				/* translators: %s: post title */
-				$notify_message = sprintf( __( 'New comment on your post "%s"' ), $post->post_title ) . "\r\n";
-				/* translators: 1: comment author, 2: comment author's IP address, 3: comment author's hostname */
-				$notify_message .= sprintf( __( 'Author: %1$s (IP address: %2$s, %3$s)' ), $comment->comment_author, $comment->comment_author_IP, $comment_author_domain ) . "\r\n";
-				/* translators: %s: comment author email */
-				$notify_message .= sprintf( __( 'Email: %s' ), $comment->comment_author_email ) . "\r\n";
-				/* translators: %s: trackback/pingback/comment author URL */
-				$notify_message .= sprintf( __( 'URL: %s' ), $comment->comment_author_url ) . "\r\n";
-				/* translators: %s: comment text */
-				$notify_message .= sprintf( __( 'Comment: %s' ), "\r\n" . $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"' ), get_the_title( $post ) ) . "\r\n";
+		$notify_message .= get_comment_notify_text( $comment );
+		$notify_message .= __( 'You can see all responses to this post here:' ) . "\r\n";
+
+		/* translators: 1: blog name, 2: post title */
+		$subject = sprintf( __('[%1$s] Response: "%2$s"'), $blogname, get_the_title( $post ) );
+
 		$notify_message .= get_permalink( $comment->comment_post_ID ) . "#comments\r\n\r\n";
 		$notify_message .= sprintf( __( 'Permalink: %s' ), get_comment_link( $comment ) ) . "\r\n";
 
@@ -1691,49 +1652,16 @@
 
 		$switched_locale = switch_to_locale( get_locale() );
 
-		$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 );
-		$comment_content = wp_specialchars_decode( $comment->comment_content );
 
-		switch ( $comment->comment_type ) {
-			case 'trackback':
-				/* translators: %s: post title */
-				$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: trackback/pingback website name, 2: website IP address, 3: website hostname */
-				$notify_message .= sprintf( __( 'Website: %1$s (IP address: %2$s, %3$s)' ), $comment->comment_author, $comment->comment_author_IP, $comment_author_domain ) . "\r\n";
-				/* translators: %s: trackback/pingback/comment author URL */
-				$notify_message .= sprintf( __( 'URL: %s' ), $comment->comment_author_url ) . "\r\n";
-				$notify_message .= __( 'Trackback excerpt: ' ) . "\r\n" . $comment_content . "\r\n\r\n";
-				break;
-			case 'pingback':
-				/* translators: %s: post title */
-				$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: trackback/pingback website name, 2: website IP address, 3: website hostname */
-				$notify_message .= sprintf( __( 'Website: %1$s (IP address: %2$s, %3$s)' ), $comment->comment_author, $comment->comment_author_IP, $comment_author_domain ) . "\r\n";
-				/* translators: %s: trackback/pingback/comment author URL */
-				$notify_message .= sprintf( __( 'URL: %s' ), $comment->comment_author_url ) . "\r\n";
-				$notify_message .= __( 'Pingback excerpt: ' ) . "\r\n" . $comment_content . "\r\n\r\n";
-				break;
-			default: // Comments
-				/* translators: %s: post title */
-				$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";
-				/* translators: 1: comment author name, 2: comment author's IP address, 3: comment author's hostname */
-				$notify_message .= sprintf( __( 'Author: %1$s (IP address: %2$s, %3$s)' ), $comment->comment_author, $comment->comment_author_IP, $comment_author_domain ) . "\r\n";
-				/* translators: %s: comment author email */
-				$notify_message .= sprintf( __( 'Email: %s' ), $comment->comment_author_email ) . "\r\n";
-				/* translators: %s: trackback/pingback/comment author URL */
-				$notify_message .= sprintf( __( 'URL: %s' ), $comment->comment_author_url ) . "\r\n";
-				/* translators: %s: comment text */
-				$notify_message .= sprintf( __( 'Comment: %s' ), "\r\n" . $comment_content ) . "\r\n\r\n";
-				break;
-		}
+		$notify_message  = sprintf( __('A new response to the post "%s" is waiting for your approval'), get_the_title( $post ) ) . "\r\n";     
+		$notify_message .= get_comment_notify_text( $comment );
+		$notify_message .= get_permalink($comment->comment_post_ID) . "\r\n\r\n";
+
 
 		/* translators: Comment moderation. %s: Comment action URL */
 		$notify_message .= sprintf( __( 'Approve it: %s' ), admin_url( "comment.php?action=approve&c={$comment_id}#wpbody-content" ) ) . "\r\n";
@@ -1752,14 +1680,14 @@
 		/* translators: Comment moderation. %s: Number of comments awaiting approval */
 		$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
+				'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#wpbody-content' ) . "\r\n";
 
 		/* translators: Comment moderation notification email subject. 1: Site name, 2: Post title */
-		$subject         = sprintf( __( '[%1$s] Please moderate: "%2$s"' ), $blogname, $post->post_title );
+		$subject         = sprintf( __( '[%1$s] Please moderate: "%2$s"' ), $blogname, get_the_title( $post ) );
 		$message_headers = '';
 
 		/**
