I want to set a custom from email address for emails that are sent via a plugin. I don't want to change default email address. The following code is not working:

add_filter('wp_mail_from', 'new_mail_from');
add_filter('wp_mail_from_name', 'new_mail_from_name');

function new_mail_from($old) {
 return 'your email address';
function new_mail_from_name($old) {
 return 'your name or your website';
  • This should work, except when the email you are trying to change are not sent using wp_mail().
    – fuxia
    Jul 30, 2019 at 9:39
  • yes I need that solution , the email which are not send using wp_mail() Jul 30, 2019 at 9:44
  • 1
    Then you can't. Fix the code to use wp_mail() instead.
    – fuxia
    Jul 30, 2019 at 13:52

1 Answer 1


Please use this below code for sending emails in wordpress, which will change the from name.

$recipient_email = "[email protected]";
$subject ="Submission";
$message = "I have done a submission"; 
$headers = 'Content-type: text/html;charset=utf-8' . "\r\n"; 
$headers .= 'From: Mastic Technology Rebate <[email protected]>' . "\r\n";
wp_mail($recipient_email, $subject, $message, $headers);

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.