PHP

Ξ 55 comentarios

Cómo enviar correos desde PHP en Localhost

por Vertig0
Cómo enviar correos desde PHP en Localhost

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.

Cómo enviar correos desde PHP en Localhost

¿Qué necesitamos?

– 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

¿Cómo Lo Hago?

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

Comparte este tutorial

El culpable de todo esto

Responsable de transformar miles de k310 en w200, y sobrevivir para contarlo, Jorge Nitales tuvo sus inicios en los barrios bajos de Papúa y Nueva Guinea, en una exitosa empresa productora de Paraguas de Bambú. Luego de alcanzar fama y fortuna, lo dejó todo para jubilar a la edad de 16 años y dedicarse a la cosecha de tomates hidropónicos en la zona de Pemuco. Es ahí donde fue reclutado para CLH por Dexter, un asiduo comprador de la hortaliza. A la fecha se le adjudica el haber enseñado a miles de personas en cientos de países como teletransportarse y hacer el famoso Kamehamehá, rumoreándose fuertemente una Genkidama en el futuro próximo. Las baterías vienen por separado.

En los barrios marginales se le conoce como: Vertig0

Comentarios en Facebook

55 Comentarios

  • Si tengo un router o estoy dentro de una red inalambrica cambia la metodologia???, lo pregunto por que al ejecutar el codigo el minirelay queda en conectando a
     
    mx.hotmail.com
     
    si alguien sabe que me cuente gracias!

  • Hola , estoy usando xampp y resulta que al cargar la pagina me tira error en la linea 3, $header=”From: Prueba<prueba@comolohago.cl\n“;
    por favor diganme que puede ser que ya me esta superando esto!!

    gracias..

  • Que ondas a mi me funca correcto, gracias por el aporte!!!
    Moises, Creo que lo que te esta fallando es la sintaxis del código checalo y cualquier duda contactame al mail mmartinezb@hotmail.es

  • hola me sale un error  :S y es justamente aqui:
    $header=”From: Prueba<prueba@comolohago.cl>\n“;
    porque sera?
    yo puse esto:
    $header=”From: Prueba<andresz23@hotmail.com>\n“;
    y em sale esto en el mensaje:
    Parse error: parse error in C:\xampp\htdocs\email.php on line 11
    y esa es la linea 11  alguien sabe que puedo hacer??

  • @benjamin: Si copiaste y pegaste el código desde acá ojo con las comillas, que seguramente te las cambió.

    Saludos!

  • Hola a todos!
    el tuto esta muy bueno, pero cuando envio un mail en le minirelay me dice esto:
    Error Cannot connect to SMTP server 65.55.92.152 (65.55.92.152:25), connect error 10060
    que es?
    les comento que en el php.ini modifique estas linesas:
    [mail function]
    ; For Win32 only.
    ; http://php.net/smtp
    SMTP = 127.0.0.1
    ; http://php.net/smtp-port
    smtp_port = 25
    ; For Win32 only.
    ; http://php.net/sendmail-from
    ;sendmail_from = diego_muller46@hotmail.com
    Ayuda por favor, ya que nose que es lo que esta pasando porque no me deja mandar mails!!!

  • hey cuate. estoy provando este metodo. pero el miniRelay me marca este error.
    05:46:52 Comando: RCPT TO <gmeneses74@yahoo.es>
    05:46:52 [1] Resolviendo dominio MX de yahoo.es
    05:46:58 [1] Error al resolver el dominio yahoo.es: TimedOut
    05:46:58 [1] Reintentando resolución DNS
    05:47:04 [1] Error al resolver el dominio yahoo.es: TimedOut
    05:47:04 [1] Reintentando resolución DNS
    05:47:10 [1] Error al resolver el dominio yahoo.es: TimedOut
    05:47:10 [1] Mensaje NO enviado, debido a fallos con el DNS

  • como estan todos no m funciono para nada aquel llego acerlo deberia d poner como lo iso xq cuando le doy enviar todo bien pero el MINIRELAY DICE NO SE PUDO ENVIAR PARA NADA O TAMBEIN YO LO QIERO ACER DESDE LOCAL E  intentado con varios y no a funcinado nada revisen este tuto ria http://www.youtube.com/watch?v=1hzwl1P–3g son 4 videos y no m funciono tampoco es a la ora de salir los mail no me funciona

  • <?php
    /*página mail.php en http://localhost:1009/email/mail.php por ejemplo
       (c) 2008-2010 Submit Consulting. Lima Peru
       Autor:A. Sullon
       Mandar mail desde PHP. Una buena solución para programadores responsables
       No nos responsabilizamos su mal uso
    */
    /* en el php.ini asegurese de que este activado
    [mail function]
    ; For Win32 only.
    SMTP = localhost
    smtp_port = 25
    */
    //solo basta enceder el mialserver “miniRelay.exe” y listo
    //funciona muy bien cuando te conectas a internet con IP automatico
    mail(“parati@hotmail.com“,”Prueba”,”Hola, probando miniRelay para win”,”From: demi@hotmail.com“);
    //si usas IP estático, en Propiedades de Protocolo Intener (TCP/IP),
    //asegurate que este actvada la opcion: “Obtener la dirección del servidor DNS automáticamente”
    //i.e: no envia el mail cuando uso direcciones de servidor DNS
    //si asi no funciona, fíjate en las configuraciones o bloqueos de tu Antivirus ya que lo acabo de desinstalar
    //con el firewall no hay problema, nomal envía si éste está activado.
    ?>

  • estimado, yo estoy conectado con wifi gratis, que da la provincia en la cual vivo, y somos miles de maquinas bajo la misma ip, lo que da como resultado es que la ip este en listas negras, por esa razón mis mails no salen, se puede hacer algo para sortear ese obstáculo? si me podes mandar un mail te lo agradecería.

1 2 3 4 5 6

Responder a israel guzman Cancelar respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Gente linda que nos quiere

Donde mas estamos