wp_mail()を使って簡単にメールフォームを作ろうと思ったら、ヘッダの引数にBccを指定した途端に届かない!Ccには届く!という摩訶不思議な現象に困った。
wp_mail()の基本設定(公式リファレンス)
$to = 'mail@mail.com'; $subject = 'タイトル'; $headers[] = 'From: 送信元名前 <sousinmoto@mail.com>'; $headers[] = 'Cc: Cc宛先<ccatesaki@gmail.com>'; $headers[] = 'Bcc: Bcc宛先<bccatesaki@gmail.com>'; $message = '本文' wp_mail($to,$subject,$message,$headers);
と書けば送信先、Cc、Bccを含んだメール送信が可能なわけだ。簡単。
Ccとかいらね!って場合は第4引数(アタッチメント、この場合はヘッダ)を除いたらいい。
単に送信先を複数にしたければ、
$to = array('mail@mail.com','second-mail@mail.com');
と配列にすればOK。
とにかくシンプルに!って時はソースに
wp_mail('mail@mail.com','タイトル','本文');
これ書くで届く。素晴らしい。
で、何故か自分の環境ではBccだけが届かない。
おかしいな?と調べたところ、Gmailでは送信先とBccを同じGmail受信ボックスで受信した場合、重複を防ぐためかBccをPopしないようだ。
つまり僕は、同じGmailアカウントで2つのメール、「mail@mail.com」「bccatesaki@gmail.com」を受信していたので、mail@mail.comだけが受信された形になっていた。
なので、試しにBccのみGmailアカウントで受信してみたら、「非公開の受信者宛」という宛先でこのメールが届いた。(Googleに詳細)
送信テストする時は注意しないとね。