Ändern von Benachrichtigungs-E-Mails von WordPress <wordpress> @ mydomain.net zu etwas anderem

15

Wie ändere ich die Benachrichtigungs-E-Mail-Adresse von WordPress @ mydomain.net in eine andere Adresse?

Ich möchte dies tun, weil WordPress @ mydomain.net als Junk-Mail gekennzeichnet wird.

Vielen Dank

Daniel

Rarst
quelle
1
Warum nicht die Adresse zu Ihrer Liste sicherer Absender hinzufügen? dann landet es nicht in der Junkmail.
T31OS
1
Das würde bei mir aber nicht bei meinen Usern funktionieren.
Das ist fair genug, es war nicht klar, dass Sie sich in der Eröffnungsfrage nicht nur auf sich selbst bezogen haben.
t31os

Antworten:

23

Ich benutze einen sehr ähnlichen Ansatz wie John P Bloch und Bainternet, nur ein bisschen flexibler, damit ich die E-Mail-Adresse für keinen Client ändern muss:

<?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
quelle
6
Sehr elegante Lösung. Nett!
John P Bloch
@fuxia Ich bin ein Wordpress-Neuling. Wohin geht dieser Code? Ist das ein einfaches neues Plugin? Wenn ja, wie installiere ich es? Und t5_ist das Ihr persönliches Plugin-Präfix? Oder ist es irgendwie wichtig?
Lorenz Meyer
@LorenzMeyer Ja, eine separate PHP-Datei, die im Plugin-Verzeichnis Ihrer Installation gespeichert ist. Dort können Sie es aktivieren. t5_war damals mein persönliches Präfix. :)
fuxia
9

Es gibt ein großartiges Plugin, das dies für Sie erledigt und Send From heißt . Wenn Sie dies jedoch selbst rollen möchten, ist es denkbar einfach. Um die E-Mail-Adresse zu ändern, fügen Sie einen Filter 'wp_mail_from'wie folgt hinzu:

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

add_filter( 'wp_mail_from', 'just_use_my_email' );

Sie können den Namen des Absenders auch mithilfe des 'wp_mail_from_name'Filters wie folgt ändern (dies ist völlig optional):

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

add_filter( 'wp_mail_from_name', 'just_use_my_email_name' );

Tauschen Sie einfach die falschen Werte gegen Ihre echte E-Mail-Adresse aus und los geht's.

John P Bloch
quelle
4

Hier:

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

Ändern Sie den Namen in den gewünschten Namen und [email protected] in die gewünschte E-Mail-Adresse. Wenn Sie jedoch die E-Mail-Adresse ändern, blockiert oder spammt der Anti-Span-Filter Ihre E-Mails zum Spoofing.

Bainternet
quelle
Ich habe das Formular "Senden" verwendet und es funktioniert wie angekündigt. Ich habe auch eine E-Mail-Adresse [email protected] erstellt und das Formular zum Senden so konfiguriert, dass es für automatische Website-Benachrichtigungen verwendet werden kann. Die Test-E-Mail, die ich an mein Testbenutzerkonto gesendet habe, wurde vom Spamfilter nicht gekennzeichnet. Erfolg! Jetzt muss ich mit meinen Usern testen. Vielen Dank!
4

Die vorhandenen Antworten sind eine bessere Möglichkeit, dies zu tun, es gibt jedoch eine Alternative, die ich erwähnen möchte.

add_action('phpmailer_init','modify_phpmailer');

function modify_phpmailer($phpmailer) {

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

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

Dies geschieht nach den Filtern * wp_mail_from * und * wp_mail_from_name *. So können Sie eine Änderung erzwingen und verhindern, dass andere Plugins sie ändern. Sie können auch direkt mit dem phpmailer-Objekt arbeiten und beispielsweise der Adresse eine Antwort hinzufügen (siehe oben).

rohmann
quelle