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