wp_mailで宛先なしの500InternalServerErrorが出た時の対処

WordPressで複数の登録者宛てにメールを送信したが、処理後に500InternalServerErrorが出ててしまった。
原因は、宛先のアドレスが無いもしくは届かなかったことが判明した。
調べたところReturn-Pathを設定すれば、ServerErrorを回避できるらしい。

wp_mailに直接設定できないので、アクションフックを使って設定する。

function set_return_path( $phpmailer ) {
    $phpmailer->Sender = 'hoge@example.com';
}
add_action( 'phpmailer_init', 'set_return_path' );

同様にFromも設定できるようです。

fromにメールアドレスを設定するフィルターフック

function set_mail_from( $email ) {
    return 'hoge@example.jp';
}
add_filter( 'wp_mail_from', 'set_mail_from' );

fromに送信者名を設定するフィルターフック

function set_mail_from_name( $email_from ) {
    return 'Hoge';
}
add_filter( 'wp_mail_from_name', 'set_mail_from_name' );

コメントを残す

メールアドレスが公開されることはありません。