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

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

MW WP Form

MW WP Form はショートコードベースのフォームプラグインです。多くの機能を持っており、例えば、多くのバリデーションルール、問い合わせデータの保存、そしてグラフ機能集計などを使用することができます。

さらに詳しく
Habakiri

Habakiri

Bootstrap ベースのシンプルな WordPress テーマ。レスポンシブ、多くのカスタマイズ機能。圧縮された CSS・JS を使用する高速化対策。Microformats 対応。Sass、クラスベースの functions.php。

さらに詳しく
basis-stylus

Basis

軽量なレスポンシブ Stylus/CSS フレームワーク。Flexbox ベースのグリッドシステム、疎結合なコンポーネント、バーティカルリズム。

さらに詳しく