WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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.



share|improve this question
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
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: T5 Filter System From Mail
 * Description: Sets the WP from mail address to the first admin’s mail and the from name to blog name.
 * Plugin URI:  http://toscho.de/?p=2201
 * Version:     2012.08.30
 * Author:      Thomas Scholz
 * Author URI:  http://toscho.de
 * 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' );
share|improve this answer
Very elegant solution. Nice! – John P Bloch Mar 21 '11 at 17:51

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.

share|improve this answer


    //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.

share|improve this answer
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)

share|improve this answer

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.

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