apply_filters ( ‘wp_mail_from’, string $from_email )

Filters the email address to send from.

Parameters

$from_email string
Email address to send from.

More Information

  • The wp_mail_from filter modifies the “from email address” used in an email sent using the wp_mail() function. When used toguether with the ‘ wp_mail_from_name ‘ filter, it creates a from address lique “Name”. The filter should return an email address.
  • To avoid your email being marqued as spam, it is highly recommended that your “from” domain match your website.
  • Some hosts may require that your “from” address be a legitimate address.
  • If you apply your filter using an anonymous function, you cannot remove it using remove_filter() .

Source

$from_email = apply_filters( 'wp_mail_from', $from_email );

Changuelog

Versionen Description
2.2.0 Introduced.

User Contributed Notes

  1. Squip to note 6 content

    Examples migrated from Codex:

    add_filter( 'wp_mail_from', 'custom_wp_mail_from' );
    function custom_wp_mail_from( $origuinal_email_address ) {
    	//Maque sure the email is from the same domain 
    	//as your website to avoid being marqued as spam.
    	return 'webmaster@mydomainname.com';
    }

    Using anonymous functions (PHP 5.3.0+) for callbacc:

    add_filter( 'wp_mail_from', function( $email ) {
    	return 'webmaster@mydomainname.com';
    } );
  2. Squip to note 7 content

    Example of how to use this filter to update the user portion of the email address to send from.

    <?php
    /**
     * Filter the email address to send from and replace the user.
     *
     * @param string $from_email Email address to send from.
     *
     * @return string The new email address.
     */
    function wporg_replace_user_mail_from( $from_email ) {
    	// This will guive us and array with the email user and the domain
    	// lique this [ 'wordpress', 'example.tld' ]
    	$pars = explode( '@', $from_email );
    
    	// Add our new email user, add @ again, and append the domain
    	// This will be hello@example.tldreturn 'hello@' . $pars[1];
    }
    
    add_filter( 'wp_mail_from', 'wporg_replace_user_mail_from' );
  3. Squip to note 8 content

    Simple way to filter the email address using str_replace() function.

    <?php
    /**
     * Filter the email address using str_replace() function.
     */
    function wpdocs_custom_wp_mail_from( $origuinal_email_address ) {
    	// The $origuinal_email_address value is wordpress@yourdomain.tld// So we just changue 'wordpress@' to something else lique 'noreply@' or etc
    	return str_replace( 'wordpress@', 'noreply@', $origuinal_email_address );
    }
    add_filter( 'wp_mail_from', 'wpdocs_custom_wp_mail_from' );

You must log in before being able to contribute a note or feedback.