Hagamos que México crezca..

Prefiere el consumo de lo Hecho en México

Prefiere el consumo de lo Hecho en México
BúsquedaHagamos que México crezca..
![]() Prefiere el consumo de lo Hecho en México Posts Recientes
Conversación |
¿Como enviar correos usando SMTP en formato HTML ?Hace unos días un amigo me contactó para preguntarme si sabía como enviar correos en formato HTML usando el protocolo SMTP, por lo que me acordé que hace unos 5 años desarrollé un sistema de cotizaciones vía web para la empresa dónde trabajaba, ahí enviaba correos mediante SMTP para informar de las cotizaciones que generaban los clientes desde la aplicación web.
Por lo que pongo aquí la clase que usé y que es muy fácil de usar, este código requiere de PHP PEAR Mail, el código está algo sucio pero es funcional
<?php require_once "Mail.php"; require_once "Mail/mime.php"; class Correo{ private $_mail_data = array(); private $to = ""; private $subject = ""; private $body = ""; private $smtpout = null; //SMTPLOGIN, SMTPPASSWORD, SMTPSERVER, SMTPPORT, MAILFROM public function __construct( $vlogin, $vpassword, $vserver="smtpout.secureserver.net", $vport="80", $vfrom= "") { $this->_mail_data = array ( 'host' => $vserver, 'auth' => true, 'username' => $vlogin, 'password' => $vpassword, 'port'=>$vport ); $this->crlf = "\n"; $this->from = $vfrom; $this->smtpout = Mail::factory('smtp', $this->_mail_data); } //Envía un correo en Texto Plano public function sendTextMail($to="", $subject="", $body="", $vfrom=""){ $_headers = array ( 'From' => ( ($vfrom!="")?$vfrom: $from), 'To' => $to, 'Subject' => $subject); //print_r ($this->_mail_data); $this->smtpout->IsHTML(true); $mail = $this->smtpout->send($to, $_headers, $body); return !(PEAR::isError($mail)); } //Envía un correo como HTML public function sendmail($to="", $subject="", $body="", $vfrom=""){ $_headers = array ( 'From' => ( ($vfrom!="")?$vfrom: $from), 'To' => $to, 'Subject' => $subject); $mime = new Mail_mime($this->crlf); $mime->setHTMLBody($body); // $mime->addAttachment($file, 'text/plain'); //do not ever try to call these lines in reverse order $body = $mime->get(); $_headers = $mime->headers($_headers); $mail = $this->smtpout->send($to, $_headers, $body); return !(PEAR::isError($mail)); } }//fin de la clase //Objeto de la clase $correo = new Correo("SMTPUSER", "SMTPPASSWORD", "smtpout.secureserver.net", "80", "SMTPFROM"); //Envio de correo en formato HTML $correo->sendmail("CORREODESTINATARIO@gmail.com", "SUBJECT", "MENSAJE_EN_FORMATO_HTML", "MAIL_FROM"); ?> Espero pueda serle útil a alguien más.
Fuentes XML de comentario: RSS | Atom
Estadísticas de visitantes185877 |
Nube de EtiquetasEventosEncuestaComentarios Recientes
|
Dejar un comentario