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

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

I want to do this because WordPress 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

4 Answers 4

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 = "";


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

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:
 * Version:     2012.08.30
 * Author:      Thomas Scholz
 * Author URI:
 * 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


    //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 '';


Change Name to the name you want and 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 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

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 '';

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

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.