Magento Reset Password Email And Functionality Is Not Working With Custom Theme

Every time you do major changes in a magento theme, you need to check all existing functionality of your website. Sometimes you might have been facing problems with sudden changes in the theme or after installing a new theme your “Reset Password” emails stop sending and the fnctionality does not work.

Most of the time this issue happens with new Magento 1.9

There could be many reasons for this email/functionality issues, We have assumed one of the common issue and covered fix for that.

One of the reason for emails not sending reset password email might be getting storeId. There are different methods for getting storeId, some of them will not work in some modules, the same way if you replace the way of getting storeId in sendPasswordResetConfirmationEmail method of

Mage_Customer_Model_Customer in app/code/core/Mage/Customer/Model/Customer.php

this should start sending emails. replace the line

$storeId = $this->getStoreId();


$storeId = Mage::app()->getStore()->getStoreId();

Note: For best practise, do not edit any core files, create Customer/Model folder under app/code/local and copy the file Customer.php into the new Customer/Model under local and edit the file.

Missing Reset Password Block

Case : 1
Sometimes when customer clicks reset password link from their email, the website shows blank or reset password block will not show, in this case most of the time layout/Customer.xml misses reset password block, find out Customer.xml from

app/design/frontend/[themename]/default/layout or app/design/frontend/rwd/default/layout

and add below code, if it is not there already

<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>
<reference name=”root”>
<action method=”setTemplate”>
<action method=”setHeaderTitle” translate=”title” module=”customer”>
<title>Reset a Password</title>
<reference name=”content”>
<block type=”customer/account_resetpassword” name=”resetPassword” template=”customer/form/resetforgottenpassword.phtml”/>

Case : 2

Sometimes, your custom theme misses Customer.xml from the layout folder which results Reset Password block does not show in the website, but tricky is other customer blocks will display and only reset password will not display.

In this case copy the Customer.xml from



app/design/frontend/[themename]/default/layout or app/design/frontend/rwd/default/layout

1 Comment

  1. Hello,

    I am getting mail afrer Clicking Forgot Password, but after clicking the password reset link I n getting “Your password reset link has expired.” After some searching I come to know that ‘id’ and ‘token’ are passed blank to ‘AccountController.php’.

    Do you have any solution for this..?

    Thanks in Advance

Leave a Reply to Sushant P Cancel Reply