Magento seemingly makes the most mundane development tasks an exercise
in patience. The over engineered PHP beast makes you do more XML situps
than the most anal of Java app environments all with zero documentation
of its convoluted naming conventions. Therefore, when I wanted to email
from within a custom Magento module I found myself back in the Magento
source and forums to try and figure it out. I was just about to go down
Asad Rahman’s approach or Branko Ajzele’s but digging around in
Magento’s source led me to believe there was an easier way. Please note,
however, if you want to take a template approach to emailing then you
are probably left with the aforementioned approaches and I wish you
luck. This approach is very straight forward and about as simple as it
gets in Magento. The following function probably doesn’t need a lot of
explanation:
public function notify($sendToName, $sendToEmail, $subject, $msg) {
Mage::log("Sending email to $sendTo");
$mail = Mage::getModel('core/email');
$mail->setToName($sendToName);
$mail->setToEmail($sendToEmail);
$mail->setBody($msg);
$mail->setSubject('=?utf-8?B?'.base64_encode($subject).'?=');
$mail->setFromEmail("support@example.com");
$mail->setFromName("Your Friendly Neighbourhood Support");
$mail->setType('text');
try {
$mail-->send();
}
catch (Exception $e) {
Mage::logException($e);
return false;
}
return true;
}
public function notify($sendToName, $sendToEmail, $subject, $msg) {
Mage::log("Sending email to $sendTo");
$mail = Mage::getModel('core/email');
$mail->setToName($sendToName);
$mail->setToEmail($sendToEmail);
$mail->setBody($msg);
$mail->setSubject('=?utf-8?B?'.base64_encode($subject).'?=');
$mail->setFromEmail("support@example.com");
$mail->setFromName("Your Friendly Neighbourhood Support");
$mail->setType('text');
try {
$mail-->send();
}
catch (Exception $e) {
Mage::logException($e);
return false;
}
return true;
}
ReplyDeleteNice post. Thanks for sharing.
ecommerce website designer in California | ecommerce website developer in California | Website maintenance in California | Magento expert in California | Magento website designer in California | Website designer in California | | website developer in California