Usar los mensajes por correo electrónico es algo básico en cualquier aplicación web, por pequeña o simple que sea. Comunicar hacia los usuarios enviando claves, actualizaciones, comentarios... permite de buena manera interactuar y hacer más dinámico el sitio web. Es verdad que existen muchos programas o plugins que funcionan bien y ofrecen variadas opciones pero nunca está demás conocer formas alternativas para hacer pruebas o desarrollar nuestras propias aplicaciones.
Si estamos trabajando en local, tenemos a nuestra disposición el archivo php.ini que nos sirve para configurar aspectos de PHP. Ubicar la sección mail function, descomentar y modificar las tres líneas como se muestran en este código
[mail function] ; XAMPP: Comment out this if you want to work with an SMTP Server like Mercury ;SMTP = localhost SMTP = mail.tusitio.com smtp_port = 25 ; For Win32 only. ; http://php.net/sendmail-from sendmail_from = correo@tusitio.com
Puede ser cualquier formulario con su estructua básica, aquí se puede ver un ejemplo
<form action="smtp.php" method="post"> <legend>Formulario de Ejemplo</legend> <label>Nombre</label> <input name="nombre" type="text" required="" size="40" /> <label>Email</label> <input name="correo" type="email" required="" size="40" /> <input name="enviar" type="submit" value="Enviar" /> </form>
PHPMailer es una clase en php que permite enviar correos con características complejas como mensajes en html o archivos adjuntos es bastante útil y sencillo de usar. El siguiente código muestra como configurar el archivo smtp.php de nuestro formulario
<?php require '../PHPMailerAutoload.php'; $mail = new PHPMailer; $mail->isSMTP(); $mail->SMTPDebug = 2; $mail->Debugoutput = 'html'; $mail->Host = "mail.tusitio.com"; $mail->Port = 25; $mail->SMTPAuth = true; $mail->Username = "correo@tusitio.com"; $mail->Password = "password"; $mail->setFrom('correo@tusitio.com', $_POST['nombre']); $mail->addAddress($_POST['correo']); $mail->Subject = 'Prueba PHPMailer SMTP'; $mail->msgHTML(file_get_contents('contents.html'), dirname(__FILE__)); $mail->AltBody = 'Una descripcion del mensaje'; $mail->addAttachment('images/imagen_adjunta.png'); if (!$mail->send()) { echo "Error: " . $mail->ErrorInfo; } else { echo "Correo enviado!"; } ?>
Queda disponible una demo que esta probada para gmail, hotmail y otros clientes de correo. También dejo el codigo si alguién necesita descargarlo en este link (artículo n° 7) con un pequeño aporte en Paypal, espero sea útil y no olviden dar me gusta o compartir este post
• Validación de formularios usando características de HTML5
• Método para insertar registros en MySQL usando PHP
• Obtener datos desde MySQL y mostrar el resultado en una tabla
• Los colores y sus códigos RGB
• Cómo evitar los comentarios spam
• Creando un login simple con jquery, php y mysql
• Conversor de Medidas Online
• Visualizar datos en una tabla parte II: Aplicando estilo css
• Un ejemplo de ABM usando Ajax - PHP - MySQL
• Usando jquery para modificar elementos del HTML
• Usar PDO para conectarse a MYSQL
• Cómo detectar el navegador usando JavaScript
• Cómo desarmar un notebook HP Compaq Presario C700
• Proyecto Intranet: Ordenes de servicio y ventas
• Michelles Jaque
• Beatriz Cabrera Zapata
• Mini Poesías - Constanza Gonzales
• Sobre las decisiones - Constanza Gonzales
• Enviar correos usando un formulario desde sitio web o localhost con PHPMailer
• Cómo crear un cuadro de búsqueda al estilo Google
• Sistema de LogIn con verificación de email y recuperación de contraseña usando PHP
• Demostración Jquery UI Selectable usando php y bases de datos mysql
• Subir, insertar, actualizar, borrar imágenes con PHP y MySQL
• Calculadora IMC usando JavaScript
• Select Dependientes con Ajax MySQL PHP
• Expresiones regulares en PHP
• Cómo convertir datos MySQL en formato JSON en PHP
• Visualizar datos en una tabla html con mysqli
• Siembras: Aplicación en Laravel 5.5