在我的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