Enviar Email en PHP con PHPMailer
Enviar Email en PHP con PHPMailer. Esta es una de las bibliotecas PHP de código abierto más utilizadas para enviar correos electrónicos en la mayoría de las páginas web. Su nacimiento fue por el año 2001 y desde su lanzamiento se ha convertido en la herramienta más indispensable de un programador y/o desarrollador PHP de enviar Email mediante programación.
En este artículo hablaremos sobre PHPMailer en lugar de la función mail () de PHP y mostraremos algunos ejemplos de código sobre su implementación en nuestros formularios.
Enviar Email en PHP con PHPMailer
Veamos los procedimientos.
Parte #01 Implementación de un formulario HTML
Agregue el formulario HTML a su página
Generalmente, los desarrolladores incluirían un formulario que recoge la información y lo envía a un código PHP para su procesamiento. Sin embargo, hay un archivo HTML, por ejemplo «contacto.html. Tendrá que configurar la acción de su formulario en «EnviarEmail.php» para que el archivo PHP lo procese. Aquí el código de contacto.html.
<form method="post" action="EnviarEmail.php"> Email: <input name="email" id="email" type="text" /><br /> Mensaje:<br /> <textarea name="message" id="message" rows="15" cols="40"></textarea><br /> <input type="submit" value="Enviar Correo" /> </form>
Parte #02 Implementación de PHPMailer
Insertar el código PHPMailer a su página web
Debido a que estamos utilizando PHPMailer en lugar de la función de correo genérico php, comenzaremos a actualizar nuestro archivo «EnviarEmail.php». Si busca en su carpeta PHPMailer verá un archivo README que incluye código PHP de ejemplo. El código de ejemplo debería contener lo siguiente:
<?php require("class.PHPMailer.php"); $mail = new PHPMailer(); $mail->IsSMTP(); // Configurar email para utilizar SMTP $mail->Host = "mail.example.com;mail2.example.com"; // Especificar servidor principal y de copia. $mail->SMTPAuth = true; // Activar la autenticación SMTP $mail->Username = "jswan"; // SMTP usuario $mail->Password = "secret"; // SMTP contraseña $mail->From = "from@example.com"; $mail->FromName = "Mailer"; $mail->AddAddress("josh@example.net", "Carlos Flores"); $mail->AddAddress("ellen@example.com"); // name is optional $mail->AddReplyTo("info@example.com", "Information"); $mail->WordWrap = 50; // set word wrap to 50 characters $mail->AddAttachment("/var/tmp/file.tar.gz"); // add attachments $mail->AddAttachment("/tmp/image.jpg", "new.jpg"); // optional name $mail->IsHTML(true); // set email format to HTML $mail->Subject = "Here is the subject"; $mail->Body = "This is the HTML message body <b>in bold!</b>"; $mail->AltBody = "This is the body in plain text for non-HTML mail clients"; if(!$mail->Send()) { echo "Message could not be sent. <p>"; echo "Mailer Error: " . $mail->ErrorInfo; exit; } echo "El mensaje ha sido enviado"; ?>
Descargar PHPMailer
CONCLUSION
Si usted es un programador en PHP, casi siempre llegaremos tarde o temprano a implementar envíos de email, ya sea por el requerimiento de un cliente o nuestro propio proyecto. Mientras que usted puede elegir por servicios de terceros como Mandrill o MailChimp, a veces eso no es una opción, y tenemos que crear nuestra propia biblioteca de envío de correo electrónico. Ahí es donde PHPMailer es necesario, pero tenemos alternativas (Zend Mail, Swiftmailer, etc.) para usar.