質問 > フロント機能 > 商品購入完了時にメール配信されない(v2.0.1) |
フロント機能
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
orign |
投稿日時: 2008/1/20 4:33
対応状況: −−−
|
常連 登録日: 2007/12/20 居住地: 投稿: 46 |
Re: 商品購入完了時にメール配信されない(v2.0.1) 更に勉強し、未熟者ながらひとつの意見が固まりました。
sendではパラメータは「宛先」「ヘッダ(サブジェクト)」「本文」の3つのみ。 mb_send_mailであれば、パラメータは「宛先」「サブジェクト」「本文」「ヘッダ」「オプション」と並びます。 sendでは「ヘッダ」に記載されたccなどはメール表示に反映されても、その宛先にメールが送信されることは一切無いようです。 (PHPバージョンに関係なく) その為、to以外にも同時にメールを送信するので有れば「宛先」にbcc分も追加するほかないかと。 (ただしPHPの古いバージョンだと、cc関係で問題があるらしく。) mb_send_mailの場合には、第四パラメータの「ヘッダ」側にbccを指定すれば送信されます。 これはmb_send_mailの場合「サブジェクト」「ヘッダ」が明確に別れていて、「ヘッダ」記載宛先についてはメール送信も行われるためです。 (mb_send_mailでは、仕様的にヘッダ記載宛先への送信が謳われています。) 実際、mb_send_mailに書き換えて試験し、そのことを確認できました。 下記ルーチンでは「宛先」にはto分のみ記載してあり、サブジェクトも念のため純粋にタイトルのみにしてあります。 ヘッダ側にbcc指定してあるのですが、そのことでちゃんとメールが届きます。 // TXTメール送信を実行する(テスト用) function sendMail2() { $subject = "ご注文受付通知(mb_send_mail版test)"; $headers = "From: $this->from\nErrors-To: $this->error\nReturn-Path: $this->from\nBcc: $this->bcc"; $option = "-f" . $this->from; // メール送信 $result = mb_send_mail($this->to,$subject,$this->body,$headers,$option); if (PEAR::isError($result)) { GC_Utils_Ex::gfPrintLog($result->getMessage()); GC_Utils_Ex::gfDebugLog($header); return false; } return true; } 今回v2系でmb_send_mailをやめてsendに変更したのは、バックエンド選択可能になるメリットからとのことでした。 今の勉強不足な私にはそのことの是非は判断できません。 ただ、今回の件だけで言えば、sendの第一パラメータがtoのみでbcc分が含まれていなかった事が原因だと思います。 v2.0.1を無修正で利用しているユーザーには、注文完了メールの管理者宛メールが届いている方は誰一人もいないと思えるのです。 大変に失礼ですが、開発陣のチェック環境でも一切届かないのではありませんか? |
フラット表示 | 前のトピック | 次のトピック |