Envía de emails desde tu código de Magento.
En este post os mostramos como enviar un email desde Magento, utilizando tres pequeñas funciones que podéis insertar en vuestras extensiones. Os puede ser muy útil si por ejemplo, queréis recibir un aviso en el momento que finaliza un proceso o cuando se ejecuta una acción concreta.
Esperamos que os sirva de ayuda!
Funciónes para el envío de un email:
//*** La función “SendNotificationEMail” la utilizamos para construir el mensaje y lanzar en email.
public function SendNotificationEMail()
{
$toEmail = ‘Email Recepctor del Correo’;
$fromEmail = ‘Email Emisor del Correo’;
$fromName = ‘Nombre Emisor del Correo’;
$subject = ‘Asunto del Correo’;
$body = $this->createBody(‘Texto del cuerpo del mensaje’);
$attachments = array();
//*** En el campo $attachments podéis incluir ficheros subidos si ejecutáis el envío de correo por ejemplo desde un formulario de contacto, etc.
$this->sendMail($toEmail, $fromEmail, $fromName, $subject, $body, $attachments);
}
//*** La función “createbody” la utilizamos para crear el cuerpo del email.
private function createBody($body_content)
{
//*** Podéis incluir cualquier texto entre los tags DATA o variables como se muestra en el ejemplo.
$body = <<<DATA
{$ body_content }
Date: {$currentDate}
DATA;
return $body;
}
//*** La función “sendMail” realiza el envío del email utilizando una instancia de Zend_Mail. En el caso del ejemplo, utilizamos la codificación UTF-8.
private function sendMail($toEmail, $fromEmail, $fromName, $subject, $body, array $attachments = array())
{
$mail = new Zend_Mail(‘UTF-8’);
$mail->addTo($toEmail)
->setFrom($fromEmail, $fromName)
->setSubject($subject)
->setBodyText($body, null, Zend_Mime::ENCODING_8BIT);
foreach ($attachments as $attachment) {
$mail->addAttachment($attachment);
}
$mail->send();
}