先日、作成したメールフォームから、BCCで送信できないトラブルがありました。プログラムは、php5.2のmb_send_mail関数を使用し、sendmailで送信しています。メール送信のエラーログファイルを見ると、BCCで送信したユーザー名が全て「deamon」になっていました。sendmailについて調べると、送信時の引数に「-t」がない場合、ヘッダーの情報を無視して配信するようです。phpの設定を確認すると「-t」がありませんでした。
今回は、php.iniファイルのsendmail設定を変更することでエラーの回避をしました。
1. 実際にphpに設定されているsendmailの設定を確認
[root@localhost ~]# php -r ‘phpinfo();’ | grep sendmail
(結果)
sendmail_from => no value => no value
sendmail_path => /sbin/sendmail -i => /sbin/sendmail -i
Path to sendmail => /sbin/sendmail -i
「-t」が省略されているのを確認
2. 設定の変更
3. 変更状態の確認
[root@localhost ~]# php -r ‘phpinfo();’ | grep sendmail
(結果)
sendmail_from => no value => no value
sendmail_path => /sbin/sendmail -t -i => /sbin/sendmail -t -i
Path to sendmail => /sbin/sendmail -t -i
以上の変更で、BCC、CCでの送信が可能になりました。
(注意)
今回は、phpの設定ファイルを変更して問題を回避しました。もし、変更できない場合は、BCC、CCで送信するのではなくTOで複数送信することを検討してください。
複数送信するには、メールアドレスをカンマで区切って入れてください。
“test@test.jp”
↓
“test@test.jp,abc@second.org”