Magento中针对特定域名客户的“需要电子邮件确认”

时间:2014-04-13 13:55:02

标签: php magento email

在我的Magento"要求电子邮件确认"对所有客户禁用,但我想发送特定域的确认电子邮件,例如: * @ lenovo.com。

目前我的代码是

    if (true === $validationResult) {

                $patterns = array('@lenovo.com');
    $patterns_flattened = implode('|', $patterns);
    if ( preg_match('/'. $patterns_flattened .'/i', $customer->getEmail(), $matches) )
    {  
        $customer->setConfirmation(null);
        $customer->save();
    }

                if ($customer->isConfirmationRequired()) {

                    $customer->sendNewAccountEmail(
                        'confirmation',
                        $session->getBeforeAuthUrl(),
                        Mage::app()->getStore()->getId()
                    );
                    $session->addSuccess($this->__('Account confirmation is required. Please, check your email for the confirmation link. To resend the confirmation email please <a href="%s">click here</a>.', Mage::helper('customer')->getEmailConfirmationUrl($customer->getEmail())));
                    $this->_redirectSuccess(Mage::getUrl('*/*/index', array('_secure'=>true)));
                    return;
                } else {
                    $session->setCustomerAsLoggedIn($customer);
                    $url = $this->_welcomeCustomer($customer);
                    $this->_redirectSuccess($url);
                    return;
                }
            }

但客户在没有收到确认电子邮件的情况下得到了保存。

我的代码并未触及$ customer-&gt; isConfirmationRequired()函数。

任何人都可以帮我解决这个问题。

我正在使用Magento ver。 1.7.0.2

0 个答案:

没有答案