changer les e-mails de notification de WordPress <wordpress> @ mydomain.net à autre chose

15

Comment changer l'adresse e-mail de notification de WordPress @ mydomain.net à autre chose.

Je veux le faire parce que WordPress @ mydomain.net finit par être signalé comme courrier indésirable.

Merci

Daniel

Rarst
la source
1
Pourquoi ne pas ajouter l'adresse à votre liste d'expéditeurs fiables? alors il ne finira pas dans le courrier indésirable.
t31os
1
Cela fonctionnerait pour moi mais pas pour mes utilisateurs.
C'est assez juste, il n'était pas clair que vous ne vous référiez pas seulement à la question d'ouverture.
t31os

Réponses:

23

J'utilise une approche très similaire comme John P Bloch et Bainternet, juste un peu plus flexible, donc je n'ai pas à changer l'adresse e-mail d'un client:

<?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
la source
6
Solution très élégante. Agréable!
John P Bloch
@fuxia Je suis un novice Wordpress. Où va ce code? S'agit-il d'un tout nouveau plugin? Si c'est le cas, comment l'installer? Et t5_est-ce votre préfixe de plugin personnel? Ou est-ce important d'une manière ou d'une autre?
Lorenz Meyer
@LorenzMeyer Oui, un fichier PHP séparé, enregistré dans le répertoire plugin de votre installation. Là, vous pouvez l'activer. t5_était mon préfixe personnel à l'époque. :)
fuxia
9

Il existe un excellent plugin qui fait cela pour vous, appelé Send From . Cependant, si vous voulez rouler vous-même, c'est très simple. Pour modifier l'adresse e-mail, ajoutez un filtre 'wp_mail_from'comme ceci:

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

add_filter( 'wp_mail_from', 'just_use_my_email' );

Et vous pouvez également changer le nom de l'expéditeur en utilisant le 'wp_mail_from_name'filtre comme ceci (c'est entièrement facultatif):

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

add_filter( 'wp_mail_from_name', 'just_use_my_email_name' );

Échangez simplement les fausses valeurs pour votre véritable adresse e-mail et vous êtes prêt à partir.

John P Bloch
la source
4

ici:

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

Changez le nom pour le nom que vous voulez et [email protected] pour l'adresse e-mail que vous voulez. mais si vous modifiez l'adresse e-mail, la plupart des filtres anti-span bloqueront ou spammeront votre courrier pour usurpation.

Bainternet
la source
J'ai utilisé le formulaire d'envoi et cela fonctionne comme annoncé. J'ai également créé une adresse e-mail [email protected] et configuré le formulaire d'envoi pour l'utiliser pour les notifications de site automatisées. L'e-mail de test que j'ai envoyé à mon compte d'utilisateur de test n'a pas été signalé par le filtre anti-spam. Succès! Maintenant, je dois tester avec mes utilisateurs. Merci!
4

Les réponses existantes sont une meilleure façon de procéder, mais il y a une alternative que je voudrais mentionner.

add_action('phpmailer_init','modify_phpmailer');

function modify_phpmailer($phpmailer) {

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

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

Cela se produit après les filtres * wp_mail_from * et * wp_mail_from_name *. Donc, avec cela, vous pouvez forcer un changement et empêcher d'autres plugins de le modifier. Vous pouvez également travailler directement avec l'objet phpmailer et effectuer des opérations telles que l'ajout d'une réponse à l'adresse (illustré ci-dessus)

rohmann
la source