en Programacion

PHPMailer

Últimamente en el curro me ha surgido la necesidad de enviar mails mediante PHP. Hasta ahora siempre tuve el problema de que las imágenes que usaba en el HTML del cuerpo del mensaje para que quedara bonito, se tenían que cargar dinámicamente una vez que abrias el mensaje desde una ruta en internet. El problema era que si el usuario leía el mail una vez desconectado, estas imágenes no se cargaban y lo que en un principio era un HTML bonito se queda en una trapallada.

Además, no sabía como incluir archivos adjuntos. Buscando por la web me encontré con PHPMailer.

PHPMailer

Con esta clase de PHP se pueden enviar mails de forma sencilla, adjuntando archivos, embebiendo imágenes en el mensaje para no tener que cargarlas dinámicamente, etc… Veamos un ejemplo sencillo:

[php]< ?php require("class.phpmailer.php"); $mail = new PHPMailer(); $mail->From = «hanok@ejemplo.com»;
$mail->FromName = «Hanok»;
$mail->AddAddress(«destino@ejemplo.com», «Destino»);
$mail->AddAddress(«destino2@ejemplo.com»);  // El nombre es opcional
$mail->AddReplyTo(«destinocopia@ejemplo.com», «Information»);

$mail->WordWrap = 50;
$mail->AddAttachment(«/ruta/al/archivo/documento.zip»);         // Añadimos Documentos
$mail->AddEmbeddedImage(«/ruta/al/archivo/logo.jpg», «logo», «logo.jpg»); //Imagen embebida en el mensaje
$mail->IsHTML(true);                                  // Activamos el formato HTML
$mail->Subject = «Asunto del mail»;

$mail->Body = «Este es mi logotipo: Logo«;
$mail->AltBody = «Si el cliente de correo del destinatario no acepta HTML se verá este texto.»;

if(!$mail->Send())
{
echo «Se ha producido un error al enviar el correo.»;
echo «Mailer Error: » . $mail->ErrorInfo;
exit;
}

echo «El correo ha sido enviado con exito.»;
?>[/php]