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
8:44:42 am
Esto esta muy bien para ips fijas, pero desde las dinámicas no funciona…
10:48:44 pm
man me hace la funcion tal como lo describes en el tutorial, pero no me envia el mail y en los cometarios lei algo sobre ajustar el dns, esto podria ser que haga que el minirelay no me manda los mails.
pd. estoy utilizando como $header una cuenta gmail y $dest una cuenta de hotmail. ademas que ya intente de otras formas.
me puedes decir que estoy haciendo mal?.
10:03:27 am
Hola Mi amigo el minirelay ya no esta funcionando el enlace , dice K no se encuentra 🙁 … Gracias
10:12:13 am
Exelente POST funciona perfecto!!!!
Grax
7:55:59 pm
puff to pa windows c?·”!%&&8 !!
6:24:54 pm
hola..como hago esto pero en ubuntu??bueno ya hice lo del archo php.ini pero hasta alli llegue..
5:53:51 pm
Saludos,
Primero felicitar y agradecer por el valioso aporte. Por otro lado
me gustaria saber porque no me envia el mensaje. Configure el php.ini, el codigo no me bota error , y el minirelay tambien dice que lo envia satisfactoriamente….mmmm..Cual seria mi error??
11:56:51 pm
Hola! cuando ingreso ese codigo a dreamweaver me salen varios errores, lo pongo dentro del body..? ayudaa!
11:57:20 pm
pleaseeee
7:38:04 pm
COMO ENVIARE SPAM!!! jajajajjajajja 😀