バージョン選択

フォーラム

メニュー

オンライン状況

75 人のユーザが現在オンラインです。 (70 人のユーザが フォーラム を参照しています。)
登録ユーザ: 1
ゲスト: 74
amnk もっと...

サイト内検索

質問 > 管理機能 > 本会員へのステータス移行時の本登録メール

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
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: 本会員へのステータス移行時の本登録メール

$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
);


ここのデータが取れてないんだと思います。
会員登録の部分で$this->CONFを探してみるとわかるかなーと思います
highork
投稿日時: 2011/3/4 14:00
対応状況: −−−
半人前
登録日: 2011/2/24
居住地:
投稿: 13
Re: 本会員へのステータス移行時の本登録メール
ご返信ありがとうございます。
$this->CONF =
で始まる部分が一行も含まれていないので配信元が表示されないのは分かったのですが、

メール系を動かしているphpに書かれている、
$this->CONF = $objDb->sf_getBasisData();
をどこに挿入したらいいのでしょうか、あるいはこれを入れるのが間違いなのでしょうか?

これが揃えばおそらく完了だと思いますので、今しばらくだけお付き合い下さい。よろしくお願い致します。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は90,417名です
総投稿数は110,392件です

投稿数ランキング

1
seasoft
7369
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1693
8
red
1571
9
mcontact
1371
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.