通知メールをWordPress <wordpress> @ mydomain.netから別のものに変更する


15

通知メールアドレスをWordPress @ mydomain.netから別のアドレスに変更するにはどうすればよいですか。

WordPress @ mydomain.netが最終的にジャンクメールとしてフラグ付けされるため、これを実行したいと思います。

ありがとう

ダニエル


1
安全な送信者リストにアドレスを追加してみませんか?迷惑メールにはなりません。
t31os

1
それは私には機能しますが、ユーザーには機能しません。

それは十分に公平です、あなたが最初の質問で自分自身に言及しているだけではないことは明らかではありませんでした。
t31os

回答:


23

私はJohn P BlochやBainternetのような非常によく似たアプローチを使用していますが、もう少し柔軟なので、クライアントのメールアドレスを変更する必要はありません。

<?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' );
}

6
非常にエレガントなソリューション。いいね!
ジョンPブロッホ

@fuxia私はWordpressの初心者です。このコードはどこに行きますか?これは単純な新しいプラグインですか?ある場合、どのようにインストールしますか?そしてt5_、これはあなたの個人的なプラグインプレフィックスですか?それともどういうわけか重要ですか?
ローレンツマイヤー

@LorenzMeyerはい、インストールのプラグインディレクトリに保存された別のPHPファイル。そこで有効化できます。t5_当時の私の個人的なプレフィックスでした。:)
fuxia

9

Send Fromと呼ばれるすばらしいプラグインがあります。ただし、これを自分でロールバックする場合は、まったく簡単です。メールアドレスを変更するには、次の'wp_mail_from'ようなフィルターを追加します。

function just_use_my_email(){
  return 'my.email@domain.com';
}

add_filter( 'wp_mail_from', 'just_use_my_email' );

また、次の'wp_mail_from_name'ようなフィルターを使用して送信者の名前を変更することもできます(これは完全にオプションです)。

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

add_filter( 'wp_mail_from_name', 'just_use_my_email_name' );

実際のメールアドレスの偽の値を交換するだけで、準備完了です。


4

ここに:

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

[名前]を目的の名前に変更し、email @ Domain.comを目的のメールアドレスに変更します。ただし、メールアドレスを変更すると、ほとんどのアンチスパンフィルターは、なりすましのためにメールをブロックまたはスパムします。


送信フォームを使用しましたが、広告どおりに機能します。また、電子メールアドレスcas@mydomain.netを作成し、自動フォーム通知に使用する送信フォームを構成しました。テストユーザーアカウントに送信したテストメールは、スパムフィルターによってフラグが立てられていません。成功!次に、ユーザーでテストする必要があります。ありがとう!

4

既存の答えはこれを行うためのより良い方法ですが、言及したい代替案があります。

add_action('phpmailer_init','modify_phpmailer');

function modify_phpmailer($phpmailer) {

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

    $phpmailer->AddReplyTo("replyto@address.com");
}

これは、* wp_mail_from *および* wp_mail_from_name *フィルターの後に発生ます。そのため、これを使用して変更を強制し、他のプラグインが変更するのを防ぐことができます。phpmailerオブジェクトを直接操作して、アドレスに返信を追加するなどの操作を行うこともできます(上記を参照)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.