質問 > 管理機能 > 本会員へのステータス移行時の本登録メール |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
highork |
投稿日時: 2011/3/2 17:40
対応状況: −−−
|
半人前 登録日: 2011/2/24 居住地: 投稿: 13 |
本会員へのステータス移行時の本登録メール 現在仮登録+お客様へメールを送らずにこちらで承認する形態を採っています。お客様へは仮登録のメールは届くのですが、本登録のメールが届かないので以下のように変更を試みたのですが動きません。
当方ほとんどphpの記述知識がないので修正点を教えてくださればと思います。 LC_Page_Admin_Customer_Edit.phpの ・189行付近 // 会員情報が変更されている場合にはシークレット?も更新する。 if ($arrCusSts != $_POST['status']){ $secret = SC_Utils_Ex::sfGetUniqRandomId("r"); $this->arrForm['secret_key'] = $secret; array_push($arrRegistColumn, array('column' => 'secret_key', 'convert' => 'n')); $this->lfSendRegistMail($secret); //この1文追加。 ・関数追加(本登録部分のほぼコピペです) //メール送信関係 function lfSendRegistMail($secret) { $objQuery = new SC_Query(); $objHelperMail = new SC_Helper_Mail_Ex(); //-- 姓名を取得 $sql = "SELECT email, name01, name02 FROM dtb_customer WHERE secret_key = ?"; $result = $objQuery->getAll($sql, array($secret)); $data = $result[0]; //-- メール送信 $objMailText = new SC_SiteView(); $objMailText->assign("CONF", $this->CONF); $objMailText->assign("name01", $data["name01"]); $objMailText->assign("name02", $data["name02"]); $toCustomerMail = $objMailText->fetch("mail_templates/customer_regist_mail.tpl"); $subject = $objHelperMail->sfMakesubject($objQuery, $objMailText, $this, '会員登録が完了しました。'); $objMail = new SC_SendMail(); $objMail->setItem( '' // 宛先 , $subject // サブジェクト , $toCustomerMail // 本文 , $this->CONF["email03"] // 配送元アドレス , $this->CONF["shop_name"] // 配送元 名前 , $this->CONF["email03"] // reply_to , $this->CONF["email04"] // return_path , $this->CONF["email04"] // Errors_to ); // 宛先の設定 $name = $data["name01"] . $data["name02"] ." 様"; $objMail->setTo($data["email"], $name); $objMail->sendMail(); } ちなみにエラー内容はSC_Sendmail.phpの280行目付近、お名前.com用となっている部分、登録完了画面が出たもののEC CUBEの上部画面にエラーコードが表示されていました。 GMO共用SDサーバーを使用しているのと関連があるのでしょうか? ご教示下さいますようよろしくお願い致します。 |
sumkjr |
投稿日時: 2011/3/2 18:17
対応状況: −−−
|
一人前 登録日: 2010/10/8 居住地: 投稿: 103 |
Re: 本会員へのステータス移行時の本登録メール エラー内容を公開できる部分だけでも公開し、具体的にどういうエラーが起こっているのかを提示して頂いた方が、回答しやすいかと思います。
また http://xoops.ec-cube.net/modules/tinyd0/index.php?id=8 に質問用テンプレートがありますので、もう一度お読みいただくことをおすすめします。 環境は管理画面に入ればある程度わかるかと思います。 |
red |
投稿日時: 2011/3/2 18:19
対応状況: −−−
|
神 登録日: 2010/2/15 居住地: 東京都 投稿: 1571 |
Re: 本会員へのステータス移行時の本登録メール エラーコードが表示されていました。
の部分が知りたかったりします・・・ |
highork |
投稿日時: 2011/3/3 12:30
対応状況: −−−
|
半人前 登録日: 2011/2/24 居住地: 投稿: 13 |
Re: 本会員へのステータス移行時の本登録メール エラーコードは、
Warning: Invalid argument supplied for foreach() in (ローカルホスト名)/data/class/SC_SendMail.php on line 298 です。 [EC CUBE]バージョン 2.4.4 [PHP] 5.2.12 [DB]MySQL 5.0.51a-log [サーバー]GMO 共有SDプラン 情報不足な質問ですいませんでした。 |
red |
投稿日時: 2011/3/3 12:42
対応状況: −−−
|
神 登録日: 2010/2/15 居住地: 東京都 投稿: 1571 |
Re: 本会員へのステータス移行時の本登録メール なるほど、なぜか2.4.4と行数が違うのがよくわからないですがなんとなくわかりました
//-- 姓名を取得 $sql = "SELECT email, name01, name02 FROM dtb_customer WHERE secret_key = ?"; $result = $objQuery->getAll($sql, array($secret)); $data = $result[0]; ここの部分でデータが取れていないことが原因だと思います これより上でsecretを作り直しているため、顧客情報がマッチしないんだと思います。フォームから入力した値をとってくるようにするといいかもしれないです |
highork |
投稿日時: 2011/3/3 16:46
対応状況: −−−
|
半人前 登録日: 2011/2/24 居住地: 投稿: 13 |
Re: 本会員へのステータス移行時の本登録メール redさん>
お早い返信ありがとうございます。 ただ本当に何も分からなくてすいません。 フォームから入力した値をとってくるにはどのように記述すればよいのでしょうか? ご教授頂ければと思います。 |
red |
投稿日時: 2011/3/3 16:49
対応状況: −−−
|
神 登録日: 2010/2/15 居住地: 東京都 投稿: 1571 |
Re: 本会員へのステータス移行時の本登録メール だいぶ強引ですが
$sql = "SELECT email, name01, name02 FROM dtb_customer WHERE secret_key = ?"; $result = $objQuery->getAll($sql, array($secret)); $data = $result[0]; ここの部分を $data = $this->arrForm; としてみてはどうでしょうか? |
highork |
投稿日時: 2011/3/4 11:05
対応状況: −−−
|
半人前 登録日: 2011/2/24 居住地: 投稿: 13 |
Re: 本会員へのステータス移行時の本登録メール redさんありがとうございます!
エラーも出ずメール配信出来るようになりました。 ただメール内容、あて先などは反映されていますが、配信元が反映されないようです。 聞くばっかりですいませんが、どこがうまくいってないんでしょうか? |
red |
投稿日時: 2011/3/4 11:25
対応状況: −−−
|
神 登録日: 2010/2/15 居住地: 東京都 投稿: 1571 |
Re: 本会員へのステータス移行時の本登録メール
ここのデータが取れてないんだと思います。 会員登録の部分で$this->CONFを探してみるとわかるかなーと思います |
highork |
投稿日時: 2011/3/4 14:00
対応状況: −−−
|
半人前 登録日: 2011/2/24 居住地: 投稿: 13 |
Re: 本会員へのステータス移行時の本登録メール ご返信ありがとうございます。
$this->CONF = で始まる部分が一行も含まれていないので配信元が表示されないのは分かったのですが、 メール系を動かしているphpに書かれている、 $this->CONF = $objDb->sf_getBasisData(); をどこに挿入したらいいのでしょうか、あるいはこれを入れるのが間違いなのでしょうか? これが揃えばおそらく完了だと思いますので、今しばらくだけお付き合い下さい。よろしくお願い致します。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |