WordPress at a glance
function is not described

WP_Recovery_Mode_Email_Service::send_recovery_mode_email() WP 5.2.0

Sends the Recovery Mode email to the site admin email address.

This is a method of the class: WP_Recovery_Mode_Email_Service

Return

true/false. Whether the email was sent successfully.

Usage

$WP_Recovery_Mode_Email_Service = new WP_Recovery_Mode_Email_Service();
$var = $WP_Recovery_Mode_Email_Service->send_recovery_mode_email( $rate_limit, $error, $extension );
$rate_limit(int) (required)
Number of seconds before another email can be sent.
$error(array) (required)
Error details from {@see error_get_last()}
$extension(array) (required)
Extension that caused the error.

Changelog

Since 5.2.0 Introduced.

Code of WP Recovery Mode Email Service::send recovery mode email: wp-includes/class-wp-recovery-mode-email-service.php WP 5.2.3

<?php
private function send_recovery_mode_email( $rate_limit, $error, $extension ) {

	$url      = $this->link_service->generate_url();
	$blogname = wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES );

	$switched_locale = false;

	// The switch_to_locale() function is loaded before it can actually be used.
	if ( function_exists( 'switch_to_locale' ) && isset( $GLOBALS['wp_locale_switcher'] ) ) {
		$switched_locale = switch_to_locale( get_locale() );
	}

	if ( $extension ) {
		$cause   = $this->get_cause( $extension );
		$details = wp_strip_all_tags( wp_get_extension_error_description( $error ) );

		if ( $details ) {
			$header  = __( 'Error Details' );
			$details = "\n\n" . $header . "\n" . str_pad( '', strlen( $header ), '=' ) . "\n" . $details;
		}
	} else {
		$cause   = '';
		$details = '';
	}

	/**
	 * Filters the support message sent with the the fatal error protection email.
	 *
	 * @since 5.2.0
	 *
	 * @param $message string The Message to include in the email.
	 */
	$support = apply_filters( 'recovery_email_support_info', __( 'Please contact your host for assistance with investigating this issue further.' ) );

	/* translators: Do not translate LINK, EXPIRES, CAUSE, DETAILS, SITEURL, PAGEURL, SUPPORT: those are placeholders. */
	$message = __(
		'Howdy!

Since WordPress 5.2 there is a built-in feature that detects when a plugin or theme causes a fatal error on your site, and notifies you with this automated email.
###CAUSE###
First, visit your website (###SITEURL###) and check for any visible issues. Next, visit the page where the error was caught (###PAGEURL###) and check for any visible issues.

###SUPPORT###

If your site appears broken and you can\'t access your dashboard normally, WordPress now has a special "recovery mode". This lets you safely login to your dashboard and investigate further.

###LINK###

To keep your site safe, this link will expire in ###EXPIRES###. Don\'t worry about that, though: a new link will be emailed to you if the error occurs again after it expires.

###DETAILS###'
	);
	$message = str_replace(
		array(
			'###LINK###',
			'###EXPIRES###',
			'###CAUSE###',
			'###DETAILS###',
			'###SITEURL###',
			'###PAGEURL###',
			'###SUPPORT###',
		),
		array(
			$url,
			human_time_diff( time() + $rate_limit ),
			$cause ? "\n{$cause}\n" : "\n",
			$details,
			home_url( '/' ),
			home_url( $_SERVER['REQUEST_URI'] ),
			$support,
		),
		$message
	);

	$email = array(
		'to'      => $this->get_recovery_mode_email_address(),
		/* translators: %s: site name */
		'subject' => __( '[%s] Your Site is Experiencing a Technical Issue' ),
		'message' => $message,
		'headers' => '',
	);

	/**
	 * Filter the contents of the Recovery Mode email.
	 *
	 * @since 5.2.0
	 *
	 * @param array  $email Used to build wp_mail().
	 * @param string $url   URL to enter recovery mode.
	 */
	$email = apply_filters( 'recovery_mode_email', $email, $url );

	$sent = wp_mail(
		$email['to'],
		wp_specialchars_decode( sprintf( $email['subject'], $blogname ) ),
		$email['message'],
		$email['headers']
	);

	if ( $switched_locale ) {
		restore_previous_locale();
	}

	return $sent;
}