重置密码在magento中失败

时间:2013-05-17 09:14:55

标签: magento magento-1.7 forgot-password

在我们的Magento应用程序中,我们使用交易电子邮件模板发送重置密码邮件。

当我们点击忘记密码窗口中的submit按钮时,系统会根据电子邮件模板发送一封电子邮件...

以下是Accountcontroller

中的代码
$newResetPasswordLinkToken = Mage::helper('customer')->generateResetPasswordLinkToken();
                    /*$customer->changeResetPasswordLinkToken($newResetPasswordLinkToken);
                    $customer->sendPasswordResetConfirmationEmail();*/
                    $templateId = "Reset_password_user";
                    $flname = $customer->getFirstname().' '.$customer->getLastname();
                    $emailTemplate = Mage::getModel('core/email_template')->loadByCode($templateId);
                    $vars = array('name' => ucwords($flname), 'userid' => $customer->getId(), 'tocken' => $newResetPasswordLinkToken);
                    $emailTemplate->getProcessedTemplate($vars);
                    $storeId = Mage::app()->getStore()->getStoreId();
                    $emailTemplate->setSenderEmail(Mage::getStoreConfig('trans_email/ident_general/email', $storeId));
                    $emailTemplate->setSenderName(Mage::getStoreConfig('trans_email/ident_general/name', $storeId));
                    $emailTemplate->send($email,ucwords($flname), $vars);

以下是邮件内容:

There was recently a request to change the password for your account.
If you requested this password change, please click on the following link to reset your password: http://mywebsite.com/index.php/customer/account/resetpassword/?id=3607&token=f74609505166ef132345ba78539e6b90
If clicking the link does not work, please copy and paste the URL into your browser instead.

If you did not make this request, you can ignore this message and your password will remain the same.

那么这里有什么问题?

当我点击邮件中的链接时,它会加载忘记密码链接,并显示错误消息:

Your password reset link has expired.

2 个答案:

答案 0 :(得分:0)

您应该检查可能导致与此功能冲突的插件,我也有类似的问题并删除unirgy礼券证书插件有助于原因,这也可能不是由于插件本身而是配置它的错误

答案 1 :(得分:0)

我也遇到了相同的问题,即默认邮件模板名称为“忘记密码”

在此模板中,找到以下行

<a href="{{store url="customer/account/resetpassword/" _query_id=$customer.rp_customer_id _query_token=$customer.rp_token}}"><span>Reset Password</span></a>

并替换为以下行:

<a href='{{store url="customer/account/resetpassword/" _query_id=$customer.id _query_token=$customer.rp_token}}'><span>Reset Password</span></a>

您只会看到引号出现问题。

希望这会对您有所帮助。