alterando e-mails de notificação do WordPress <wordpress> @ mydomain.net para outra coisa

15

Como altero o endereço de e-mail de notificação do WordPress @ mydomain.net para outra coisa.

Eu quero fazer isso porque o WordPress @ mydomain.net acaba sendo sinalizado como lixo eletrônico.

obrigado

Daniel

Rarst
fonte
1
Por que não adicionar o endereço à sua lista de remetentes seguros? então ele não terminará no lixo eletrônico.
T31os
1
Isso funcionaria para mim, mas não para meus usuários.
Isso é justo o suficiente, não ficou claro que você não estava apenas se referindo a si mesmo na pergunta inicial.
T31os

Respostas:

23

Eu uso uma abordagem muito semelhante, como John P Bloch e Bainternet, apenas um pouco mais flexível, para que eu não precise alterar o endereço de email de nenhum cliente:

<?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' );
}
fuxia
fonte
6
Solução muito elegante. Agradável!
John P Bloch
@uxuxia Eu sou um novato no Wordpress. Para onde esse código vai? Este é um novo plugin simples? Se for, como faço para instalá-lo? E t5_esse é o seu prefixo de plug-in pessoal? Ou isso importa de alguma forma?
Lorenz Meyer
@LorenzMeyer Sim, um arquivo PHP separado, salvo no diretório de plug-ins da sua instalação. Lá você pode ativá-lo. t5_era meu prefixo pessoal naquela época. :)
fuxia
9

Há um ótimo plugin que faz isso para você chamado Enviar de . No entanto, se você quiser fazer isso sozinho, é simples. Para alterar o endereço de email, adicione um filtro da seguinte 'wp_mail_from'forma:

function just_use_my_email(){
  return '[email protected]';
}

add_filter( 'wp_mail_from', 'just_use_my_email' );

E você também pode alterar o nome do remetente usando o 'wp_mail_from_name'filtro da seguinte maneira (isso é totalmente opcional):

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

add_filter( 'wp_mail_from_name', 'just_use_my_email_name' );

Basta trocar os valores falsos pelo seu endereço de e-mail real e você estará pronto.

John P Bloch
fonte
4

aqui:

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

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

Altere Nome para o nome desejado e [email protected] para o endereço de email desejado. mas se você alterar o endereço de e-mail, o filtro mais anti-extensão bloqueará ou enviará spam a seus e-mails para falsificação.

Bainternet
fonte
Eu usei o Send Form e funciona como anunciado. Também criei um endereço de e-mail [email protected] e configurei o Formulário de envio para usá-lo nas notificações automatizadas do site. O email de teste que enviei para minha conta de usuário de teste não foi sinalizado pelo filtro de spam. Sucesso! Agora eu tenho que testar com meus usuários. Obrigado!
4

As respostas existentes são a melhor maneira de fazer isso, no entanto, há uma alternativa que eu gostaria de mencionar.

add_action('phpmailer_init','modify_phpmailer');

function modify_phpmailer($phpmailer) {

    $phpmailer->From = "Full Name";
    $phpmailer->FromName = "[email protected]";

    $phpmailer->AddReplyTo("[email protected]");
}

Isso acontece após os filtros * wp_mail_from * e * wp_mail_from_name *. Portanto, com isso, você pode forçar uma alteração e impedir que outros plugins a modifiquem. Você também pode trabalhar diretamente com o objeto phpmailer e fazer coisas como adicionar uma resposta ao endereço (mostrado acima)

rohmann
fonte