wp_mail で From とか Return-Path を設定する方法

WordPress

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' );
  • ブックマーク
  • Feedly

この記事を書いた人

キタジマタカシ

長崎在住、フリーランスのWordPress テーマ / プラグインデベロッパー。 多数のプロダクトをオープンソースで開発・公開しています。現在は WordPress 有料テーマ Snow Monkey を開発・販売しています。