Cómo enviar correos usando un formulario desde sitio web o localhost con PHPMailer

Empezando por configurar el archivo php.ini

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
			

Crear un formulario HTML para probar el código

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>				
	

Conectarse al SMTP usando PHPMailer

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!";
} ?>
	

Demostración

Queda disponible una demo que esta probada para gmail, hotmail y otros clientes de correo. Espero sea útil y no olviden dar me gusta o compartir este post

Nombre

Email

Respuesta smtp (en 5 seg app)
Anuncios / Ads
Anuncios / Ads

Sobre programación web

• 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

Fotografía

• Michelles Jaque
• Beatriz Cabrera Zapata

Poesías

• Mini Poesías - Constanza Gonzales
• Sobre las decisiones - Constanza Gonzales

Últimas Publicaciones

• Cómo desarmar un notebook HP Compaq Presario C700
• 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
• Proyecto Intranet: Ordenes de servicio y ventas
• Demostración Jquery UI Selectable usando php y bases de datos mysql

Anuncios / Ads

Newsletter



Gracias. Te mantendremos informado

Website Template por IdeasChile © Optimizado para Chrome - Firefox - Opera