您的位置:首页 > 其它

magento 发邮件[不用template/使用template]

2012-12-10 14:43 405 查看
不使用template发邮件:

$mail = Mage::getModel('core/email');
$mail->setToName('Your Name');
$mail->setToEmail('em@bluecomgroup.com');  // send email to this email address
$mail->setBody('Mail Text / Mail Content');
$mail->setSubject('Mail Subject');
$mail->setFromEmail('test@gmail.com');// set send email from this address
$mail->setFromName("Msg to Show on Subject");
$mail->setType('html');// YOu can use Html or text as Mail format

try {
$mail->send();
}
catch (Exception $e) {
Mage::getSingleton('core/session')->addError('Unable to send.');
$this->_redirect('');
}


使用template:

module/config.xml加入

<template>
<email>
<test_email_template module="some api">
<label>test module</label>
<file>test_admin.html</file>
<type>html</type>
</test_email_template>
</email>
</template>

app/locale/en_US/template/email/test_admin.html

<div>
<h1> test email</h1>
<p>Hi there {{var myvar1}} {{var myvar2}} from {{var myvar3}}. This is just some example template to test  module.</p>
</div>


任意action方法中加入:

$emailTemplate  = Mage::getModel('core/email_template')
->loadDefault('test_email_template');
//Create an array of variables to assign to template
$emailTemplateVariables = array();
$emailTemplateVariables['myvar1'] = 'em';
$emailTemplateVariables['myvar2'] = 'Am';
$emailTemplateVariables['myvar3'] = 'ActiveCodeline';

$processedTemplate = $emailTemplate->getProcessedTemplate($emailTemplateVariables);
$emailTemplate->setSenderName('Sender Name');
$emailTemplate->setSenderEmail('sender@gmail.com');
$emailTemplate->setTemplateSubject('em Test');
/*
* Or you can send the email directly,
* note getProcessedTemplate is called inside send()
*/
$emailTemplate->send('sendto@bluecomgroup.com','em', $emailTemplateVariables);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: