Introducción a Zend_Mail
Zend_Mail provee funcionalidad para componer y enviar mensajes de correo electrónico tanto de texto como multipart –compatible con MIME-. Los correos electrónicos pueden ser enviados con Zend_Mail y el transporte por defecto Zend_Mail_Transport_Sendmail o por vía Zend_Mail_Transport_Smtp.
Ejemplo
Enviando correo electrónicos con Zend_Mail
Un correo electrónico simple consiste de algunos destinatarios, un titulo, un cuerpo y un remitente. Para enviar ese correo usando Zend_Mail_Transport_Sendmail, haz lo siguiente:
<?php
require_once ‘Zend/Mail.php’;
$mail = new Zend_Mail();
$mail->setBodyText(‘Este es el cuerpo del mensaje.’);
$mail->setFrom(‘remitente@ejemplo.com’, ‘Remitente’);
$mail->addTo(‘destinatario@ejemplo.com’, ‘Destinatario’);
$mail->setSubject(‘Titulo de prueba’);
$mail->send();
?>
| Requisitos mínimos | |
| Con objetivo de enviar el correo con Zend_Mail necesitas especificar al menos un destinatario, un remitente (con setFrom()), y un cuerpo de mensaje (texto y/o HTML). |
Para la mayoría de los atributos hay getters (métodos “get”) para leer información almacenada en el objeto de correo. Para información detallada, refiérase a la documentación del API. Un método especial es getRecipients(). Devuelve un array con todos los direcciones de correo de los destinatarios que fueron agregadas previamente a la llamada de este método.
Por razones de seguridad, Zend_Mail filtra todos los campos de encabezado para prevenir inyecciones con caracteres de nueva línea.
También puedes usar la mayoría de los métodos de Zend_Mail con una cómoda y fluida interfase. Una interfase fluida significa que cada método devuelve una referencia al objeto donde fue llamado, así que puede llamar a otro método inmediatamente.
<?php
require_once ‘Zend/Mail.php’;
$mail = new Zend_Mail();
$mail->setBodyText(‘This is the text of the mail.’)
->setFrom(’somebody@example.com’, ‘Some Sender’)
->addTo(’somebody_else@example.com’, ‘Some Recipient’)
->setSubject(‘TestSubject’)
->send();
?php>
Configurando el transporte por defecto, sendmail
El transporte por defecto para la instancia de Zend_Mail es Zend_Mail_Transport_Sendmail. Basicamente es un envoltorio de la función mail() de PHP. Si quieres pasar parámetros adicionales a la función mail(), simplemente crea una nueva instancia del transporte y pasa los parámetros a sus constructor. La instancia del nuevo transporte puede entonces actuar como el transporte por defecto de Zend_Mail, o puede ser pasado al metodo send() de Zend_Mail.
Ejemplo.
Pasando parámetros adicionales al transporte Zend_Mail_Transport_Sendmail.
Este ejemplo muestra como cambiar el “Return-Path” de la función mail().
<?php
require_once ‘Zend/Mail.php’;
require_once ‘Zend/Mail/Transport/Sendmail.php’;
$tr = new Zend_Mail_Transport_Sendmail(‘-freturn_to_me@example.com’);
Zend_Mail::setDefaultTransport($tr);
$mail = new Zend_Mail();
$mail->setBodyText(‘This is the text of the mail.’);
$mail->setFrom(’somebody@example.com’, ‘Some Sender’);
$mail->addTo(’somebody_else@example.com’, ‘Some Recipient’);
$mail->setSubject(‘TestSubject’);
$mail->send();
?php>
|
|
Restricciones en modo seguro (“Safe mode”) |
| Los parámetros adicionales opcionales causaran que la función mail() falle si PHP esta ejecutándose en modo seguro. |
Todavía no hay comentarios
Replica