I noticed WordPress give us some filters to customize the password reset request email like wp_mail_from
, retrieve_password_title
and retrieve_password_message
and these last two are executed in the retrieve_password
function at wp-login.php
as following:
$title = apply_filters( 'retrieve_password_title', $title );
$message = apply_filters( 'retrieve_password_message', $message, $key );
if ( $message && !wp_mail( $user_email, wp_specialchars_decode( $title ), $message ) )
wp_die( __('The e-mail could not be sent.') . "<br />n" . __('Possible reason: your host may have disabled the mail() function.') );
return true;
That’s cool but I also realized the wp_mail
function does not use any header which make me believe everything should be override with filters.
Is there a filter to override the headers? Specifically Content-Type
? And where would be the best place to register them?
To run the filter
wp_mail_content_type
only inwp-login.php
page, we can use one of its action hooks. Untested: