En el día de hoy les enseñaremos como enviar un correo a través de una función en PHP, pero no solo eso, si no que les enseñaremos como hacer pruebas desde su computador, sin necesidad de subir el archivo a un servidor.
Para ver Cómo Lo Hago, vamos después del salto.
– Xampp (Sirve para “montar” el servidor en su equipo, pueden descargarlo aquí)
– MiniRelay (Sirve para crear el servidor de correo, lo pueden descargar aquí)
– Algun editor PHP, como Dreaweaver.
– Internet Explorer
1.- Instalamos Xampp, se instalará por defecto en C:\Xampp, luego de instalado, vamos a la carpeta, dentro de este buscamos una carpeta que se llama “PHP” y dentro de ella buscamos el archivo “php.ini”, abrimos este archivo.
2.- Como a las 3 cuartas partes del archivo, encontramos el sigueinte texto:
3.- Modificamos el texto, para que quede así:
Como ven cambiamos “localhost” por “127.0.0.1” dejando lo demas intacto, guardamos el archivo.
4.- Volvemos a C:\Xampp y buscamos un archivo que se llama “Xampp_Start.exe” lo ejecutamos y se abrira una ventana como esta:
Despues de unos segundos la ventana se cerrara, con esto, tenemos nuestro servidor local funcionando.
5.- Hecho todo esto, descomprimios el archivo miniRelay.zip, lo podemos descomprimir donde queramos. Vemos que esta el archivo “miniRelay.exe” y una carpeta, ejecutamos el archivo .exe y se abrira una ventana como esta:
Y con esto terminó la configuración de este programa.
6.- Ahora si, vamos al codigo como tal, pondremos entre los simbolos /* */ comentarios explicando el código:
<?php
/*INICIAMOS EL CODIGO PHP*/
$header=”From: Prueba<prueba@comolohago.cl>\n“;
/*CREAMOS UN HEADER DONDE DEFINIMOS EL REMITENTE DEL CORREO,
ESTO LO ASIGNAMOS A LA VARIABLE $header*/
$header.=”MIME-Version: 1.0\n”;
$header.=”Content-type: text/html; charset=iso-8859-1″;
/*CONTINUAMOS EL HEADER (NOTESE EL “.=” EN VEZ DE SOLO “=”),
DEFINIDIENDO AHORA, QUE EL CORREO SE ENVIARA EN FORMATO HTML.
ESTO TAMBIEN LO ASIGNAMOS A LA VARIABLE $header*/
$msj=”Mensaje de prueba”;
$msj.=”<br><a href=’www.comolohago.cl’>Click</a>”;
/*CREAMOS EL MENSAJE (NOTESE NUEVAMENTE EL “.=”) QUE IRA EN EL CORREO
Y LO ASIGNAMOS A LA VARIABLE $msj*/
$dest=”prueba@dominio.com“;
/*ASIGNAMOS A LA VARIABLE $dest EL CORREO AL QUE ENVIAREMOS EL CORREO
LAS PRUEBAS DEBEN HACERSE CON UN CORREO REAL*/
$asunto=”Correo de Prueba”;
/* EN LA VARIABLE $asunto GUARDAMOS EL ASUNTO DEL MENSAJE*/
mail($dest,$asunto,$msj,$header);
/*EJECUTAMOS LA FUNCION COMO TAL, EL ORDEN ES IMPORTANTE ASI QUE SE DEBE MANTENER,
USAMOS LAS VARIABLES QUE ASIGNAMOS ANTERIORMENTE*/
?>
/*TERMINAMOS EL CODIGO PHP*/
Este código solo enviará el correo, asi que no aparecera nada en pantalla. Debe ir entre las etiquetas “body”.
7.- Guardamos este archivo con el nombre que deseen y la extensión PHP y lo guardan en la carpeta “htdocs” dentro de C:\Xampp.
8.- Ahora con el servidor de correo abierto, abrimos Internet Explorer y escribimos “localhost/nombredearchivo.php”, donde nombredearchivo es el nombre con el que guardaron la página, como la página no muestra nada, solo les queda revisar su correo y verán como el correo fue enviado.
Con esto ya podemos hacer pruebas de envio de correos con la funcion mail() desde nuestro computador.
Por ahora,
Me despido
6:06:13 pm
quiero saber si puedo usar wampserver y que tengo que tener en consideración
gracias
10:28:04 pm
No quiere Funcionar Con WAMP… Alguna solucion?
12:07:41 am
hola he tenido on problema
me dice esto
Failed to connect to mailserver at “127.0.0.1” port 25, verify your “SMTP” and “smtp_port” setting in php.ini or use ini_set() in C:\wamp\www\pfefinal\email.php
aunque ya he cambiado el codigo porfavor me pueden ayudar
11:54:25 pm
hola amigo segui todo como pusiste peor aun no logro hacerlo funcionar me salen muchos erroes en el minirelay
3:27:40 am
A los que no les funciona:
quiten donde dice /*aqui terminamos el código php*/ y recorran el “?>” para que no queden espacios ni saltos de línea al final.