2012-01-19 22 views
0

私を助けることができるかどうかわかりました。 Magentoのインストールがあり、顧客が「パスワードを忘れました」を選択すると、システムはリセットパスワードの電子メールを送信しません。パスワードを忘れた場合電子メールを送信しない

他のすべてのメールは正常に動作しています。私は新しいパスワードテンプレートをセットアップし、それをMagentoの管理者に割り当てました。

パスワードのリセットメールのみが送信されず、その他のメールが送信されないのはなぜですか?

助けてください。

おかげで、 Evの

+0

をあなたはスパムフォルダを見たことがありますか? – dan

+0

はい、そこには何もありません。 – Jebanisa

答えて

0

app/code/core/Mage/Customer/controllers/AccountController.phpファイルをチェックしてください。 forgotPasswordPostActionを探してください。ステップバイステップでそれを分析してください。$this->getRequest()->getParams()があなたにemalアドレスを提供しているかどうかを確認し、検証するかどうかをチェックしてください(おそらく、バリデーションコードがローカルで変更されている可能性があります)。パスワード生成コードを見てください - 新しいパスワードは生成されていますか? Mage_Customer_Model_CustomerクラスとsendPasswordReminderEmailメソッドをチェックし、そのバグを追跡しようとします。そこにアクセスできるすべての値を印刷します(電子メール、名前、ストア設定、例外と警告のチェック - PHPエラーを表示する!)。

これは、問題を追跡し、それを識別するのに十分なデータを収集するのに役立ちます。

+0

ありがとう、今それを行うつもりです。元に戻ります – Jebanisa

+0

すべての変数が表示されています。名前、電子メール、店舗ID、新しいパスワード。バグを見つけることができず、すべてのコードはMagentoの標準的な標準です。 – Jebanisa

1

この問題を解決するには、テーマによって使用されているカスタムのcustomer.xmlをapp/design/frontend /// layout /から削除するだけで十分です。そのため、基本テーマ(app/design/frontend/base /default/layout/customer.xml)が使用されます。

またはカスタムcustomer.xmlを次のセクションで含めるように更新することができます。

<customer_account_resetpassword translate="label"> 
    <label>Reset a Password</label> 
    <remove name="right"/> 
    <remove name="left"/> 

    <reference name="head"> 
     <action method="setTitle" translate="title" module="customer"> 
      <title>Reset a Password</title> 
     </action> 
    </reference> 
    <reference name="root"> 
     <action method="setTemplate"> 
      <template>page/1column.phtml</template> 
     </action> 
     <action method="setHeaderTitle" translate="title" module="customer"> 
      <title>Reset a Password</title> 
     </action> 
    </reference> 
    <reference name="content"> 
     <block type="customer/account_resetpassword" name="resetPassword" template="customer/form/resetforgottenpassword.phtml"/> 
    </reference> 
</customer_account_resetpassword> 
関連する問題