我们一直在尝试修改 Customer.php 文件 ( import/export ) 以使其在从 CSV 文件导入客户时自动发送新帐户详细信息。
我们在正确的领域工作,因为我们放弃了一个简单的 mail() 调用,该调用被调用(我们收到了电子邮件)每个新行。当试图让它生成一个新的随机密码并发送新的帐户详细信息时会出现问题 - 它从不发送任何邮件,我们无法弄清楚为什么!代码如下(从 app/code/local/Mage/ImportExport/Model/Import/Entity/Customer.php 编辑)
/**
* Update and insert data in entity table.
*
* @param array $entityRowsIn Row for insert
* @param array $entityRowsUp Row for update
* @return Mage_ImportExport_Model_Import_Entity_Customer
*/
protected function _saveCustomerEntity(array $entityRowsIn, array $entityRowsUp)
{
if ($entityRowsIn) {
$this->_connection->insertMultiple($this->_entityTable, $entityRowsIn);
// BEGIN: Send New Account Email
$cust = Mage::getModel('customer/customer');
$cust->setWebsiteId(Mage::app()->getWebsite()->getId());
foreach($entityRowsIn as $idx => $u){
// Failed
$cust->loadByEmail($u['email']);
$cust->setConfirmation(NULL);
$cust->setPassword($cust->generatePassword(8));
$cust->save();
$cust->sendNewAccountEmail();
//$cust->sendPasswordReminderEmail(); // this call doesnt work either
}
// END: Send New Account Email
}
if ($entityRowsUp) {
$this->_connection->insertOnDuplicate(
$this->_entityTable,
$entityRowsUp,
array('group_id', 'store_id', 'updated_at', 'created_at')
);
}
return $this;
}