Cómo testear los emails que envía tu aplicación

Cómo testear los emails que envía tu aplicación

Cómo hacer para..., Herramientas
¿Alguna vez te llegó un correo similar a este? Es un hecho: los mails que genera y envía tu aplicación son una parte de ella y, como tal, deben ser testeados. En este artículo te mostraré algunas técnicas que te ayudarán a encarar estas pruebas Testear emails enviando a un único destinatario Una técnica simple es hacer que todos los correos lleguen siempre a un mismo destinatario (a vos). La ventaja de esto es que prácticamente no necesitás nada extra (Nada que no tengas digamos). El problema es que implementar esto puede implicar ensuciar el código con condicionales aquí y allí. Si usas un componente para el envío (Como el Mailer de Symfony), las cosas pueden ser más simples. Basta con especificar el destinatario único en el archivo de configuración…
Leer más
Cómo usar CC y BCC con PHPMailer

Cómo usar CC y BCC con PHPMailer

Cómo hacer para...
¿Qué es PHPMailer? Comencemos por el principio: PHPMailer es una librería que permite enviar emails desde PHP (Podés consultar algunas opciones acá). Si bien no es la única (De hecho, mi preferida es SwiftMailer), su principal ventaja es que suele estar disponible en entornos de hosting compartido, con lo cual, su uso es bastante popular. ¿Cómo se usa? Su uso es bastante simple: basta con crear una instancia de PHPMailer para tener acceso a una gran cantidad de funcionalidad: <?php use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; require_once 'vendor/autoload.php'; $mail = new PHPMailer(); $mail->isSMTP(); $mail->Host = 'mail.google.com'; $mail->SMTPAuth = true; $mail->Username = 'usuario@gmail.com'; $mail->Password = 'miSuperPassword'; $mail->SMTPSecure = 'tls'; $mail->Port = 587; $mail->setFrom('acedmy@leewayweb.com', 'Leeway Academy'); $mail->addAddress('juan.perez@yahoo.com', 'Juan Perez'); $mail->Subject = 'Este es el asunto'; $mail->Body = 'Este el cuerpo del mensaje'; if(!$mail->send()) {…
Leer más
Cómo enviar mails con formato usando SwiftMailer

Cómo enviar mails con formato usando SwiftMailer

Cómo hacer para...
Ya he comentado en otros artículos sobre las diferentes posibilidades para enviar emails usando PHP. De todas las que he probado hasta el momento, SwiftMailer es la que me resulta más cómoda y conveniente, sin embargo, he tenido algunas peleas a la hora de enviar mails con formato (es decir, mails que contengan HTML que necesito que sea entendido como tal y no como mero texto). La verdad es que es bastante simple lograrlo, sólo hay que conocer el método adecuado :) En general, lo que uno hace cuando quiere enviar un email es algo como esto: $message = (new Swift_Message()) ->setSubject('Este es el asunto') ->setFrom(['mauro.chojrin@leewayweb.com' => 'Mauro Chojrin']) ->setTo(['destinatario@dominio.com' => 'Gran Amigo']) ->setBody('Este es el importante mensaje que quiero enviarte!!') ; El problema (si puede llamársele así) es que…
Leer más
Cómo enviar emails desde PHP

Cómo enviar emails desde PHP

Cómo hacer para...
Es muy común la necesidad de enviar emails desde PHP, tanto si se trata de un script de CLI (como puede ser un cronjob) o de una aplicación web. Existen varias opciones a la hora de conseguirlo: La más simple es el uso de la función mail.  Es una función de bastante bajo nivel (es decir, algo tosca), pero está disponible en casi cualquier instalación de php. Esta opción está bien para escenarios simples, pero para usos más avanzados (como enviar adjuntos, HTML o similares), es conveniente utilizar alguna otra opción algo más robusta. Algunas alternativas interesantes son: PHPMailerSwiftMailerZendMail Cualquiera de estas resultará más adecuada que el uso de la simple función mail en contextos en los que la performance sea una preocupación (Por ejemplo, cuando hay alto tráfico en el…
Leer más