WordPress のメール送信関数 wp_mail は第4引数でメールヘッダの内容を指定できるので、これまでは下記のような感じで From を指定していました。
$header = 'hoge <' . $from . '>' . "\n"; wp_mail( $to, $subject, $body, $header );
これで問題なく動作していたのですが、今回 From と同じように Retern-Path の設定を追加しようとしたところ、設定が反映されず。
$header = 'From:キタジマ <' . $from . '>' . "\n"; $header = 'Return-Path:' . $from . "\n"; wp_mail( $to, $subject, $body, $header );
Retern-Path を設定する
調べると、Retern-Path は下記のフックを使って設定できるということがわかりました。
function set_return_path( $phpmailer ) { $phpmailer->Sender = 'hoge@example.com'; } add_action( 'phpmailer_init', 'set_return_path' ); wp_mail( $to, $subject, $body );
From を設定する
Retern-Path はアクションフックで設定できることがわかりましたが、From についても専用のフックが用意されているようです。
function set_mail_from( $email ) { return 'hoge@example.jp'; } function set_mail_from_name( $email_from ) { return 'キタジマ'; } // from のメールアドレスを設定するフィルターフック add_filter( 'wp_mail_from', 'set_mail_from' ); // from の送信者名を設定するフィルターフック add_filter( 'wp_mail_from_name', 'set_mail_from_name' );