出处:http://koda.iteye.com/blog/623678
Magento的Mage::getModel('core/email_template')模型可用来发信。
步骤I.
在你的模块(其实任意Module都可以)的etc/config.xml的根标签<config>下添加代码
1. <default>
2. <{限定名1}>
3. <{限定名n}>
4. <enabled>1</enabled>
5. <template>{email模板标签名}</template>
6. </{限定名n}>
7. </限定名>
8. </default>
9. <global>
10. <template>
11. <email>
12. <{{email模板标签名} translate="label" module="{模块名}">
13. <label>{任何标识性名}</label>
14. <file>{email模板html文件名}</file>
15. <type>html</type>
16. </{email模板标签名>
17. </email>
18. </template>
19. </global>
a).在global/template/email下定义新的email模板标签,模板文件名。模板文件名类似CMS页,要放到app/locale/{当前语种}/template/email目录或子目录下
b). default/下限定名1...限定名N围绕的template引用global下定义的email模板
限定名1...限定名N表示标签可以嵌套一层或多层用于与其他default下标签区分。
一个例如下:
1. <default>
2. <customer_email>
3. <services_request>
4. <enabled>1</enabled>
5. <template>customer_email_service_template</template>
6. </services_request>
7. </customer_email>
8. </default>
9. <global>
10. <template>
11. <email>
12. <customer_email_service_template translate="label" module="sales">
13. <label>Customer Services Request</label>
14. <file>customer_services.html</file>
15. <type>html</type>
16. </customer_email_service_template>
17. </email>
18. </template>
19. </global>
步骤II.
创建customer_services.html放到app/locale/{当前语种}/template/email目录下(内容省略).
步骤III. 代码调用例
1. /* @var $translate Mage_Core_Model_Translate */
2. $translate = Mage::getSingleton('core/translate');
3. $translate->setTranslateInline(false);
4.
5. $storeId = Mage::app()->getStore()->getId();
6. $template = Mage::getStoreConfig('customer_email/services_request/template', $storeId);
7. $recipient = array(
8. 'name' => 'Baby',
9. 'email' => 'elon.guo@gmail.com'
10. );
11. $sender = array(
12. 'name' => 'Koda Guo',
13. 'email' => 'koda.guo@gmail.com'
14. );
15.
16. $mailTemplate = Mage::getModel('core/email_template');
17. $mailTemplate->setDesignConfig(array('area'=>'frontend', 'store'=>$storeId))
18. ->sendTransactional(
19. $template,
20. $sender,
21. $recipient['email'],
22. $recipient['name'],
23. array( // parameters to email
24. 'param1'=> 'abc',
25. 'param2'=> 'def',
26. 'param3'=> 'ghi'
27. )
28. );
29. $translate->setTranslateInline(true);
使用Magento模板机制,一旦定义了新的模板,就可以在后台System->Transactional Mail处定制该模板,从而方便维护.