バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > 会員退会時の自動返信メールについて

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
inf61
投稿日時: 2011/12/14 15:02
対応状況: −−−
常連
登録日: 2011/12/9
居住地:
投稿: 44
会員退会時の自動返信メールについて
お尋ねします。

EC-CUBEにおいて、会員を退会する時にも退会を受け付けた旨の内容の自動返信メールを送るためにはどのようにすればよいでしょうか?

もしソースなりのカスタマイズが必要でしたら、
カスタマイズ方法をご教示願えませんでしょうか。

どなたかよろしくお願いいたします。
ken-o
投稿日時: 2011/12/14 15:48
対応状況: −−−
長老
登録日: 2011/9/22
居住地:
投稿: 222
Re: 会員退会時の自動返信メールについて
バージョンは2.11だと思いますが、
LC_Page_Mypage_Refusal.php
LC_Page_Mypage_RefusalComplete.php
が退会関係の処理です。
LC_Page_Mypage_RefusalComplete.php に、退会受付メールへのリンクを取り付けて、退会受付完了メールテンプレートかなにか作成しておき、そのテンプレートを送信するようにすればいいと思います。

本案件とは直接関係ありませんが、僕が過去に質問した自動メール送信の方法があります。
このやり取りの前半部分が確かメール送信部分のことだったと思いますので、参考にして頂きながら上記のphpと合体させればいいと思います。
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=thread&topic_id=9187&forum=11&post_id=44335#forumpost44335


----------------
何分知識が浅いですが・・・
出来得る限り協力したいと思っています

inf61
投稿日時: 2011/12/14 21:11
対応状況: −−−
常連
登録日: 2011/12/9
居住地:
投稿: 44
Re: 会員退会時の自動返信メールについて
回答頂きありがとうございます。
バージョンは2.11です。

退会受付メールへのリンクはLC_Page_Mypage_Refusal.phpではなく、LC_Page_Mypage_RefusalComplete.phpに取り付けるのでしょうか?

他の自動送信メールを確認したところ、LC_Page_Mypage_Refusal.phpの方になるのかなと思っていましたが…

なにぶん初心者ですので、かなり混乱しております。
ご教授頂けると大変助かります。よろしくお願いします。
ken-o
投稿日時: 2011/12/15 11:06
対応状況: −−−
長老
登録日: 2011/9/22
居住地:
投稿: 222
Re: 会員退会時の自動返信メールについて
失礼しました、そうです、LC_Page_Mypage_Refusal.php でした。

流れとしてはLC_Page_Mypage_Refusal.php→
SC_Helper_Mail.php→メールテンプレート のように遷移していくようにします。

ざっくりですが、こんな感じになるのではないかと思います。
LC_Page_Mypage_Refusal.phpのcase 'complete':に

$mailHelper = new SC_Helper_Mail_Ex();
	        $mailHelper->sfSendRefusalMail($objCustomer->getValue('customer_id'),
                                     SC_MobileUserAgent_Ex::isMobile() ? 2 : 1);

を新しく作り、

SC_Helper_Mail.php に function sfSendRegistMailと同じ内容のものをコピペし、ファンクション名を、上記太文字と同じにして、中身を若干編集。

例えば、

$subject        = $objHelperMail->sfMakeSubject('退会のご確認', $objMailText);
        $toCustomerMail = $objMailText->fetch("mail_templates/refusal_mail.tpl");

のような感じに改造。

当然、新しくメールテンプレートを用意しないといけないので、$toCustomerMailで新しく指定したファイル名と同じメールテンプレートを、customer_regist_mail.tplを参考に作成する。


----------------------------
こんなところですかね?
まだ実際に試していませんが、エラーは多分起きないんじゃないかと思います。もし仮におきた場合は、
var_dump($〜〜〜〜〜); などで値の遷移を確認しながらやってみてください。


----------------
何分知識が浅いですが・・・
出来得る限り協力したいと思っています

inf61
投稿日時: 2011/12/15 22:04
対応状況: −−−
常連
登録日: 2011/12/9
居住地:
投稿: 44
Re: 会員退会時の自動返信メールについて
ken-o様

ご回答頂きありがとうございます。
自動返信メールを送る事ができるようになりました!

ただ、エラーは起きないのですが、ログインしているユーザーと違う名前で退会処理のメールが届きます。

SC_Helper_Mail.phpにて顧客IDを引用してくる部分が間違っているのでしょうか?

何度もお手数お掛けしますが、ご教授頂けると助かります。
よろしくお願い致します。
ken-o
投稿日時: 2011/12/16 11:01
対応状況: −−−
長老
登録日: 2011/9/22
居住地:
投稿: 222
Re: 会員退会時の自動返信メールについて
LC_Page_Mypage_Refusal.php

case 'confirm':
  $this->tpl_mainpage     = 'mypage/refusal_confirm.tpl';
  $this->tpl_subtitle     = '退会手続き(確認ページ)';
  $objCustomer = new SC_Customer_Ex();
  $objCustomer->getValue('customer_id');
  var_dump($objCustomer);
  break;


こうすることで、$objCustomerの中身を見ることができますが、この中には正しく値は入っていますか?

また、ログインしているユーザーとは違う名前ということですが、管理画面→顧客管理→顧客マスターで削除されるデータは正しいユーザーのでしょうか。それともその違うユーザーのデータなのですか。

-----------------------------------------
追記、以下のコードを入力してみてください。
LC_Page_Mypage_Refusal.php

function action() {
  switch ($this->getMode()){
  case 'confirm':
  $this->tpl_mainpage     = 'mypage/refusal_confirm.tpl';
  $this->tpl_subtitle     = '退会手続き(確認ページ)';

  $aaa = $_SESSION['customer'];
  $bbb = $aaa['customer_id'];
  $mailHelper = new SC_Helper_Mail_Ex();
  $mailHelper->sfSendRefusalMail($bbb);

  break;


SC_Helper_Mail.php

function sfSendRefusalMail($customer_id) {
// 会員データの取得
if(SC_Utils_Ex::sfIsInt($customer_id)) {
    $arrCustomerData = SC_Helper_Customer_Ex::sfGetCustomerDataFromId($customer_id);
}else{
    $arrCustomerData = SC_Helper_Customer_Ex::sfGetCustomerDataFromId('', "secret_key = ?", array($secret_key));
    }
if(SC_Utils_Ex::isBlank($arrCustomerData)) {
    return false;
}
		
    $CONF = SC_Helper_DB_Ex::sfGetBasisData();
		
    $objMailText = new SC_SiteView_Ex();
    $objMailText->assign('CONF', $CONF);
    $objMailText->assign("name01", $arrCustomerData['name01']);
    $objMailText->assign("name02", $arrCustomerData['name02']);
    $objMailText->assign('uniqid', $arrCustomerData['secret_key']);
    $objMailText->assignobj($toRegisted);
    $objMailText->assignobj($arrCustomerData);
    $objMailText->assignobj($this);

    $objHelperMail  = new SC_Helper_Mail_Ex();
		
    $subject        = $objHelperMail->sfMakeSubject('退会のご確認', $objMailText);
    $toCustomerMail = $objMailText->fetch("mail_templates/refusal_mail.tpl");
    $objMail = new SC_SendMail();
    $objMail->setItem(
    ''                    // 宛先
    , $subject              // サブジェクト
    , $toCustomerMail       // 本文
    , $CONF["email03"]    // 配送元アドレス
    , $CONF["shop_name"]    // 配送元 名前
    , $CONF["email03"]     // reply_to
    , $CONF["email04"]      // return_path
    , $CONF["email04"]      // Errors_to
    , $CONF["email01"]      // Bcc
  );
		
  // 宛先の設定      
  $to_addr = $arrCustomerData['email'];
		
  $objMail->setTo($to_addr, $arrCustomerData["name01"] . $arrCustomerData["name02"] ." 様");
  
  $objMail->sendMail();		
  return true;
}


こんな感じですね。僕のほうでは問題なく退会したユーザーのメールアドレスに飛びました。

$aaa と $bbb は後ほど任意のものにして頂ければ
無駄なコードは適当に破棄していただくか、コメントアウトしてください。


----------------
何分知識が浅いですが・・・
出来得る限り協力したいと思っています

inf61
投稿日時: 2011/12/16 14:04
対応状況: −−−
常連
登録日: 2011/12/9
居住地:
投稿: 44
Re: 会員退会時の自動返信メールについて
ken-o様

ご回答ありがとうございます。

ご教授頂いたように修正したのですが、やはりログインユーザーと違う名前が表示されます。
ただ、削除されるデータは間違っていません。
できれば、削除予定の会員の名前とメールアドレスを表示させたいと考えています。

メールテンプレートのミスでしょうか…?

何度も申し訳ありませんが、よろしくお願い致します。
ken-o
投稿日時: 2011/12/16 14:18
対応状況: −−−
長老
登録日: 2011/9/22
居住地:
投稿: 222
Re: 会員退会時の自動返信メールについて

<!--{*
/*
 * This file is part of EC-CUBE
 *
 * Copyright(c) 2000-2011 LOCKON CO.,LTD. All Rights Reserved.
 *
 * http://www.lockon.co.jp/
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 */
*}-->
<!--▼CONTENTS-->
<div id="mypagecolumn">
    <h2 class="title"><!--{$tpl_title|h}--></h2>
    <!--{include file=$tpl_navi}-->
    <div id="mycontents_area">
        <h3><!--{$tpl_subtitle|h}--></h3>
        <form name="form1" method="post" action="?">
        <input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" />
        <input type="hidden" name="mode" value="confirm" />
        <div id="complete_area">
            <div class="message">会員を退会された場合には、現在保存されている購入履歴や、<br />
            お届け先などの情報は、すべて削除されますがよろしいでしょうか?</div>
            <div class="message_area">
                <p>退会手続きが完了した時点で、現在保存されている購入履歴や、<br />
                お届け先等の情報はすべてなくなりますのでご注意ください。</p>
                <div class="btn_area">
                    <ul>
                        <li>
                            <input type="image" onmouseover="chgImgImageSubmit('<!--{$TPL_URLPATH}-->img/button/btn_refuse_on.jpg',this);" onmouseout="chgImgImageSubmit('<!--{$TPL_URLPATH}-->img/button/btn_refuse.jpg',this);" src="<!--{$TPL_URLPATH}-->img/button/btn_refuse.jpg" alt="会員退会を行う" name="refusal" id="refusal" />
                        </li>
                    </ul>
                </div>
            </div>
        </div>
        </form>
    </div>
</div>
<!--▲CONTENTS-->


僕のほうで使ったものです。


----------------
何分知識が浅いですが・・・
出来得る限り協力したいと思っています

inf61
投稿日時: 2011/12/16 15:08
対応状況: 解決済
常連
登録日: 2011/12/9
居住地:
投稿: 44
Re: 会員退会時の自動返信メールについて
ken-o様

何度もご回答頂き、本当にありがとうございました。

無事に自動返信メールを設定する事ができました。

心から感謝致します。
ありがとうございました!!
habu
投稿日時: 2014/8/29 13:09
対応状況: −−−
長老
登録日: 2006/9/15
居住地:
投稿: 282
Re: 会員退会時の自動返信メールについて
本件、改善提案としてチケットを登録しておきました。
http://svn.ec-cube.net/open_trac/ticket/2611


----------------
株式会社システムフレンド
羽生 賢太郎(Kentaro Habu)
改造専門店・EC-CUBE工房

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は88,807名です
総投稿数は109,972件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1644
8
red
1570
9
mcontact
1289
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.