Encapsulando envío de emails con PHPMailer

Blog Single

La mayoría de proyectos incluyen funcionalidad que requiere del envío de emails (envíame un e-mail como alerta cuando ocurra cierta acción, mándame información a través de un formulario de contacto…). La mayoría de frameworks web incluyen soluciones para el envío de e-mails que facilitan el trabajo, sin embargo si tenemos que trabajar en un proyecto con PHP a pelo (quizás por su sencillez) es interesante emplear alguna librería de mailing que nos facilite la vida.

¿Cual es nuestro objetivo?

El objetivo final es tener en nuestro código un servicio o función que nos soporte una simple llamada mail() que nos abstraiga de la implementación y adecuación de los RFC, reglas de formato y codificación y además nos permita  incluir código html en nuestros e-mails, además de otras funcionalidades como incluir archivos adjuntos. Hoy hablaremos aquí de la librería PHPMailer (https://github.com/PHPMailer/PHPMailer), sin embargo no es la única existente, por ejemplo existe SwiftMailer incluida en Symfony entre otras.

Ventajas de PHPMailer

PHPMailer aporta características avanzadas para permitir autenticación en servidores de SMTP, incluir ficheros adjuntos en nuestros mails. Todas estas ventajas nos aporta una herramienta útil y potente y que nos reduce la complejidad.

Uno de los problemas tipicos con los que uno se enfrenta es que a la hora del envío de un mail son los acentos y aparecen caracteres extraños, en vez de visualizarse correctamente. PHPMailer permite codificar el mensaje con UTF8  de manera que nos garantiza que asunto y cuerpo del mensaje se vean correctamente .

Ejemplo

Incluyo un código de ejemplo PHP donde encapsulé PHPMailer e implementé una clase sencilla que permite el renderizado de plantillas e inicialización de mails

 

Espero que este artículo haya sido interesante y aporte una base a la hora de implementar envio de emails en PHP.

Nube de Tags

phpphpmailer
Comparte el artículo si te ha resultado interesante: