How do I change notification emails address from WordPress @mydomain.net to something else.

I want to do this because WordPress @mydomain.net ends up getting flagged as junk mail.



  • 1
    Why not add the address to your safe senders list ? then it won't end up in the junk mail. – t31os Mar 18 '11 at 12:31
  • 1
    That would work for me but not my users. – user4030 Mar 19 '11 at 2:54
  • That's fair enough, it wasn't clear that you weren't only referring to yourself in the opening question. – t31os Mar 19 '11 at 9:13

I use a very similar approach like John P Bloch and Bainternet, just a little bit more flexible, so I don’t have to change the mail address for any client:

<?php # -*- coding: utf-8 -*-
 * Plugin Name: Filter System From Mail
 * Description: Sets the WP from mail address to the first admin’s mail and the from name to blog name.
 * Version:     2012.08.30
 * Author:      Fuxia Scholz
 * Author URI:  https://fuxia.me
 * License:     MIT

if ( ! function_exists( 't5_filter_system_from_mail' ) )
     * First admin's e-mail address or blog name depending on current filter.
     * See wp-includes/pluggable.php::wp_mail()
     * @param  $input Name or email address
     * @return string
    function t5_filter_system_from_mail( $input )
        // not the default address, probably a comment notification.
        if ( 0 !== stripos( $input, 'wordpress' ) )
            return $input; // Not auto-generated

        return get_option( 'wp_mail_from' === current_filter()
            ? 'admin_email' : 'blogname' );

    add_filter( 'wp_mail_from',      't5_filter_system_from_mail' );
    add_filter( 'wp_mail_from_name', 't5_filter_system_from_mail' );
  • 6
    Very elegant solution. Nice! – John P Bloch Mar 21 '11 at 17:51
  • @fuxia I'm a Wordpress novice. Where does this code go? Is this a plain new plugin? If it is, how do I install it? And t5_ is this your personal plugin prefix? Or does it matter somehow? – Lorenz Meyer Dec 17 '18 at 7:51
  • @LorenzMeyer Yes, a separate PHP file, saved in the plugin directory of your installation. There you can activate it. t5_ was my personal prefix back then. :) – fuxia Dec 17 '18 at 10:53

There's a great plugin that does this for you called Send From. However, if you want to roll this yourself, it's dead simple. To change the email address add a filter on 'wp_mail_from' like so:

function just_use_my_email(){
  return 'my.email@domain.com';

add_filter( 'wp_mail_from', 'just_use_my_email' );

And you can also change the sender's name using the 'wp_mail_from_name' filter like so (this is entirely optional):

function just_use_my_email_name(){
  return 'My Real Name';

add_filter( 'wp_mail_from_name', 'just_use_my_email_name' );

Just swap the fake values for your real email address and you're good to go.



    //email from name function
function my_wp_mail_from_name($name) {
    return 'Name';

//email from email function
function my_wp_mail_from($content_type) {
  return 'email@Domain.com';


Change Name to the name you want and email@Domain.com to the email address you want. but if you change the email address most anti span filter will block or spam your mail for spoofing.

  • I used Send Form and it works as advertised. I also created an email address cas@mydomain.net and configured Send Form to be use it for automated site notifications. The test email I sent to my test user account was not flagged by the the spam filter. Success! Now I have to test with my users. Thanks! – user4030 Mar 19 '11 at 2:52

The existing answers are a better way to do this, however there is an alternative I'd like to mention.


function modify_phpmailer($phpmailer) {

    $phpmailer->From = "Full Name";
    $phpmailer->FromName = "from@address.com";


This happens after the *wp_mail_from* and *wp_mail_from_name* filters. So with this you can force a change and prevent other plugins from modifying it. You can also work directly with the phpmailer object and do things such as adding a reply to address (shown above)

protected by Pieter Goosen Dec 29 '15 at 18:30

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?