Take the 2-minute tour ×
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 @mydomain.net to something else.

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

Thanks

Daniel

share|improve this question
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

4 Answers 4

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
6  
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

here:

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

add_filter('wp_mail_from','my_wp_mail_from');
add_filter('wp_mail_from_name','my_wp_mail_from_name');

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.

add_action('phpmailer_init','modify_phpmailer');

function modify_phpmailer($phpmailer) {

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

    $phpmailer->AddReplyTo("replyto@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

Your Answer

 
discard

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