如何在magento中发送客户注册的自定义电子邮件?

时间:2015-09-22 09:42:52

标签: php email magento

我为customer registration创建了一个自定义模板,但在注册客户时我不知道如何调用它。

我创建了一个这样的自定义电子邮件模板:

<template>
    <email>
        <vendor_suggestions_email_template translate="label">
            <label>Vendor Suggestions</label>
            <file>vendor_suggestions.html</file>
            <type>html</type>
        </vendor_suggestions_email_template >
    </email>
</template>

我的自定义电子邮件模板正在管理面板中加载,我已经检查过了。现在,我想将此电子邮件称为customer registration。所以我必须将我的客户模型从mage/customer/model/customer.php文件覆盖到我当地的客户模块。

以下是发送customer registration

电子邮件的客户型号代码
const XML_PATH_REGISTER_EMAIL_TEMPLATE = 'customer/create_account/email_template';

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;
}

现在,我不知道如何发送customer registration的客户电子邮件模板。我真的不明白上述代码如何在客户注册中发送电子邮件以及如何触发我的自定义电子邮件模板。

任何人都可以帮助我????

1 个答案:

答案 0 :(得分:2)

您可以在后端的System >> Transactional Email部分加载自定义模板。

然后您需要从

指定用于客户注册的电子邮件模板

System >> Configuration >> Customer Configuration

在创建新帐户选项块中,在Default Welcome Email选择框中选择自定义电子邮件模板并保存配置。然后Magento将使用您的自定义电子邮件模板进行客户注册。