Hoy veremos una de las clases más completas y sencillas para el trabajo con Emails desde PHP, usado por muchos proyectos de código abierto como Drupal, SugarCRM, Yii, Joomla! y muchos más. Se trata de PHP Mailer:
Entre las funciones que se destacan de PHP Mailer encontramos, entre otras, la posibilidad de enviar a varios remitentes (CC, CCO), soporte 8bits, base64 y binarios, posibilidad de utilizar HTML, archivos adjuntos e imágenes.
Para utilizarla lo primero que debemos hacer es, por supuesto descargarla:
Una vez descargada la clase y hospedad en nuestro servidor podremos iniciarla:
Configuramos los datos de nuestro servidorrequire("class.phpmailer.php"); $mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->Host = "smtp1.ejemplo.com;smtp2.ejemplo.com"; // SMTP a utilizar
$mail->Username = "usuario@ejemplo.com"; // Usuario SMTP
$mail->Password = "Contraseña"; // Contraseña SMTP
$mail->Port = 25; // Puerto a utilizar
Configuramos el mensaje que deseamos enviar: Para comprobar si el mensaje fue enviado:$mail->From = "info@ejemplo.com"; // La dirección que se mostrará como remitente $mail->FromName = "Nombre"; / El nombre que se mostrará en el Email $mail->AddAddress("juan@ejemplo.com"); // La dirección de email que recibirá el correo $mail->IsHTML(true); // El correo se envía como HTML $mail->addAttachment('/ruta/archivo.zip'); // Añadimos los Archivos Adjuntos $mail->addAttachment('/ruta/imagen.jpg', 'nueva-imagen.jpg'); // Añadimos una imagen $mail->Subject = 'Asunto del Mensaje'; $mail->Body = 'Aquí el mensaje en <b>HTML</b>'; $mail->AltBody = 'Aquí el mensaje en texto plano, para clientes de email que no acepten html';
Esto es solo una pequeña demostración, la clase posee muchas más opciones por lo que recomendamos leer la documentación completa.if(!$mail->send()) { echo 'El mensaje no puedo ser enviado'; echo 'Error: ' . $mail->ErrorInfo; } else { echo 'Mensaje enviado con éxito'; }