不使用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);