1

I've been trying to disable the welcome email for users who login to my Magento webshop for the first time. After some debugging and back-end configuration changes I couldn't quite figure out how to do this.

The important thing I don't want to happen is that the user wont receive the confirmation email with his username and password.

0

I think you want to disable the new account email, if that is the case you can try following:

Edit

app/code/core/Mage/Adminhtml/Model/Sales/Order/Create.php

and just comment the following

/*if (! $quote->getCustomer()->getId() || ! $quote->getCustomer()->isInStore($this->getSession()->getStore())) {
            $quote->getCustomer()->sendNewAccountEmail('registered', '', $quote->getStoreId());
        }*/ 

Then this:

//$this->_customer->sendNewAccountEmail(); 

Lastly:

//$customer->sendNewAccountEmail(); 

Hopefully it helps

  • Hi user6451, I figured it out myself after a couple of hours researching and debugging. I forgot to answer my own post and there by I now checked your answer as the correct one. Thanks for your time! – wpoortman May 19 '14 at 13:38
  • You are welcome – TBI Infotech May 19 '14 at 13:39
  • 1
    There are better solutions than editing the Core. Also this solution would only cover the email being sent when the account is created when placing an order from the admin not if the customer registers themselves through the frontend. – Kristof at Fooman Mar 15 '16 at 23:59
4

You can rewrite the method Mage_Customer_Model_Customer::sendNewAccountEmail and just make it return something without any other actions.

  • I've seen the method but wasn't sure if this also included the confirmation email with the two user credentials. If you tell me that's not the case here... I will rewrite it and thank you for your help. – wpoortman Dec 19 '13 at 10:56
  • I can tell you for sure that the method is used to send the e-mail to the customers when they create an account. – Marius Dec 19 '13 at 11:08
  • That's what I'm trying to prevent. The only thing I want to disable is the e-mail which get send after the customer log's into his account for the first time. – wpoortman Dec 19 '13 at 11:11
  • The customer does not get an email when logging in (as far as I know). Only for registering, and confirming his account (if the option is enabled) – Marius Dec 19 '13 at 11:13
  • I totally agree with you and I found it strange because it my first Magento shop where I get it. I've disabled the confirmation and tried it with multiple time delays between registration and logging in. But every time I end up with an e-mail right after I log for the first time. I want to add that I'm talking about Magento version 1.5.1.0. – wpoortman Dec 19 '13 at 11:21
3

Copy: app/code/core/Mage/Customer/Model/Customer.php

TO: app/code/local/Mage/Customer/Model/Customer.php

In the function "sendNewAccountEmail" (around line 561), comment out the last 2 lines that perform the actual sending:

public function sendNewAccountEmail($type = 'registered', $backUrl = '', $storeId = '0')
{


$types = array(
'registered' => self::XML_PATH_REGISTER_EMAIL_TEMPLATE, // welcome email, when confirmation is disabled


'confirmed' => self::XML_PATH_CONFIRMED_EMAIL_TEMPLATE, // welcome email, when confirmation is enabled


'confirmation' => self::XML_PATH_CONFIRM_EMAIL_TEMPLATE, // email with confirmation link
);


if (!isset($types[$type])) {


Mage::throwException(Mage::helper('customer')->__('Wrong transactional account email type'));
}

if (!$storeId) {
$storeId = $this->_getWebsiteStoreId($this->getSendemailStoreId());


}


**// $this->_sendEmailTemplate($types[$type], self::XML_PATH_REGISTER_EMAIL_IDENTITY,**


**// array('customer' => $this, 'back_url' => $backUrl), $storeId);**


return $this;
}

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.