Comunidad de diseño web y desarrollo en internet online

Envío de correos desde un servidor local

¿Cómo configurar php.ini y sendmail.ini para poder enviar correos desde tu servidor local en Windows con Xampp, a través de una cuenta Gmail ?

Tal vez hayas querido probar alguna programación como formularios con envío de correos en tu servidor local, y te saltó este mensaje en el explorador "Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in..." :cry: . Yo estuve varios días tratando de resolverlo y finalmente pude hacerlo, modificando no solo el php.ini, sino también el sendmail.ini ^^ . Paso a explicar

Una vez que hayas configurado correctamente tu servidor de correos (yo seguí hasta el paso 7 inclusive de este sitio y me funcionó)y hayas comprobado directamente en el Mercury que podés enviar correos sin problemas, tenés que modificar el php.ini. Yo lo tengo en C:/xampp/php, pero tal vez lo tengas en otra carpeta dentro de xampp (como en xampp/apache/bin). Una vez allí hay que ir a [mail function] y poner

Código :

; For Win32 only.

SMTP = smtp.gmail.com 
smtp_port =465

; For Win32 only.
sendmail_from = (tu usuario)@gmail.com


; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
sendmail_path = "C:\xampp\sendmail\sendmail.exe -t"

Esta última linea es importante, tenés que agregarla, o descomentarla si es que ya está escrita.

Después hay que ir a sendmail.ini (yo lo tengo en C:/ xampp/sendmail/ )y poner:

Código :

# Example for a user configuration file

# Set default values for all following accounts.
defaults
logfile "C:\xampp\sendmail\sendmail.log"

# Mercury
account Mercury
host localhost
from postmaster@localhost
auth off

# A freemail service example
account Gmail
tls on
tls_certcheck off
host smtp.gmail.com 
from (tu usuario)@gmail.com
auth on
user (tu usuario)@gmail.com 
password (tu contraseña)

# Set a default account
account default :Gmail 


Y listo, para probar que funciona podés hacer un php que se llame "pruebamail.php"y lo guardás en htdocs, dentro de tu carpeta xampp, con esta línea

Código :

<?php
mail("cualquier mail@hotmail.com", "Comprobación Email", "Si lees el mensaje, terminaste correctamente la configuración");
?>


Prueba el php en el explorador (o sea, pones en la barra de direcciones http://localhost/pruebamail.php)

Si el correo te llega, funciona!

¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.

Publica tu comentario

o puedes...

¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?

¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?

Registrate