Site Health: Allow attachments to be added to recovery mode emails.

The `wp_mail()` function has the ability to add attachments to emails. There is currently no way to add attachments to the recovery mode email sent out to site admins when a PHP error is encountered on their site.

This change adds that ability through the use of the `recovery_mode_email` filter, allowing developers to use the full capabilities of `wp_mail()`.

Props desrosj, timothyblynjacobs.
Fixes #51276.

git-svn-id: https://develop.svn.wordpress.org/trunk@48964 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Jonathan Desrosiers 2020-09-09 16:19:33 +00:00
parent 2c6df53917
commit 0548043076

View File

@ -194,11 +194,12 @@ When seeking help with this issue, you may be asked for some of the following in
);
$email = array(
'to' => $this->get_recovery_mode_email_address(),
'to' => $this->get_recovery_mode_email_address(),
/* translators: %s: Site title. */
'subject' => __( '[%s] Your Site is Experiencing a Technical Issue' ),
'message' => $message,
'headers' => '',
'subject' => __( '[%s] Your Site is Experiencing a Technical Issue' ),
'message' => $message,
'headers' => '',
'attachments' => '',
);
/**
@ -209,10 +210,11 @@ When seeking help with this issue, you may be asked for some of the following in
* @param array $email {
* Used to build a call to wp_mail().
*
* @type string|array $to Array or comma-separated list of email addresses to send message.
* @type string $subject Email subject
* @type string $message Message contents
* @type string|array $headers Optional. Additional headers.
* @type string|array $to Array or comma-separated list of email addresses to send message.
* @type string $subject Email subject
* @type string $message Message contents
* @type string|array $headers Optional. Additional headers.
* @type string|array $attachments Optional. Files to attach.
* }
* @param string $url URL to enter recovery mode.
*/
@ -222,7 +224,8 @@ When seeking help with this issue, you may be asked for some of the following in
$email['to'],
wp_specialchars_decode( sprintf( $email['subject'], $blogname ) ),
$email['message'],
$email['headers']
$email['headers'],
$email['attachments']
);
if ( $switched_locale ) {