質問 > フロント機能 > 商品購入完了時にメール配信されない(v2.0.1) |
フロント機能
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
orign |
投稿日時: 2008/1/18 2:40
対応状況: −−−
|
常連 登録日: 2007/12/20 居住地: 投稿: 46 |
Re: 商品購入完了時にメール配信されない(v2.0.1) 暫定的に自己解決しました。
ただし確信が無く、技術有る方々のフォローを頂ければ幸いです。 まず、管理者宛控えが届かない原因ですが、メール送信に利用している「send」へのパラメータに有るようです。 私が調べたところ、sendを利用してbcc宛にも送信する場合には、第一パラメータの構造を代える必要があるようです。 まだ詳細を調べてないので判りませんが、PHPバージョンにも影響されるのかも知れません。 そのあたりも、詳しい方の解説を頂けると幸いです。 私が改造内容は下記の通りです。 まず、\data\class\SC_SendMail.php内の // TXTメール送信を実行する function sendMail() { $header = $this->getTEXTHeader(); // メール送信 $result = $this->objMail->send($this->to, $header, $this->body); if (PEAR::isError($result)) { GC_Utils_Ex::gfPrintLog($result->getMessage()); GC_Utils_Ex::gfDebugLog($header); return false; } return true; } をコピーして暫定的に「2」を作り、パラメータ形式を変更したのが下記。 // TXTメール送信を実行する(bcc付き) function sendMail2() { $recipients = array('To' => $this->to, 'Bcc' => $this->bcc); $header = $this->getTEXTHeader(); // メール送信 $result = $this->objMail->send($recipients, $header, $this->body); if (PEAR::isError($result)) { GC_Utils_Ex::gfPrintLog($result->getMessage()); GC_Utils_Ex::gfDebugLog($header); return false; } return true; } 次に\data\class\helper\SC_Helper_Mail.php内の「受注完了メール送信ファンクション sfSendOrderMail」の終わりのあたりにある下記行を一部変更。 if ($objSendMail->sendMail()) { ↓ if ($objSendMail->sendMail2()) { 一応これで当方のテストでは問題ないようです。 (お客様宛も、管理者宛控えも届きます。) 変更したコード部分など、ソフト技術のない私が適当に書いた物のため、なにか問題があるかもしれません。 技術のある方々のフォローを頂けると幸いです。 |
フラット表示 | 前のトピック | 次のトピック |