¿Estás buscando como configurar XAMPP para enviar emails con Gmail en 2023 desde localhost? Con los pasos que indico a continuación podrás hacerlo de forma fácil y rápida.
Antes de configurar los archivos que se indican, recuerda de apagar el sevidor apache de tu XAMPP y volverlo a iniciar una vez guardados los cambios para que surjan efecto.
1.- Configurar php.ini
El primer paso es acceder a la configuración de PHP de nuestro servidor local XAMPP. Para ello tendrás que ir al archivo php.ini en el directorio C:\xampp\php\php.ini
*Nota: La ruta de los archivos dependerá de donde tengas instalado XAMPP, podrá variar si lo instalaste en un disco diferente de C: o en un directorio distinto al estándar.
- Una vez abierto el archivo con un editor de texto tendrás que habilitar la siguientes extensiones: ;extension=php_openssl.dll (Se habilita quitándole el ; que tiene antes.)
Encontrar las siguientes lineas, habilitarlas si están deshabilitadas y configurar-las con los siguientes datos:
- SMTP=smtp.gmail.com
- smtp_port=587
- sendmail_from=tu_email@gmail.com
- sendmail_path="\"C:\xampp\sendmail\sendmail.exe\" -t"
En el caso anterior ten cuidado y pega las comillas tal cual se indican en el ejemplo.
2.- Configurar sendmail.ini
Una vez configurado el archivo php.ini pasaremos a configurar el archivo sendmail.ini que podremos encontrarlo en el siguiente directorio: C:\xampp\sendmail\sendmail.ini
Lo abrimos con un editor de texto y lo configuramos de la siguiente forma:
- smtp_server=smtp.gmail.com
- smtp_port=587
- error_logfile=error.log
- debug_logfile=debug.log
- auth_username=tu_email@gmail.com
- auth_password=contraseña_de_aplicacion_generada_en_el_paso_siguiente
- force_sender=tu_email@gmail.com
Una vez configurados estos pasos nos faltará por completar el campo auth_password para el cual tendremos que obtener una contraseña de aplicación que se indica en el siguiente paso.
3.- Generar una contraseña de aplicación en tu cuenta de Google
Para poder conectar una aplicación, en este caso enviar emails, en el 2023 tendremos que crear una Contraseña de Aplicación desde nuestra cuenta de Google primero, ya que por cambios de seguridad, eliminaron la opción de permitir el acceso de aplicaciones no seguras que había anteriormente.
Para obtenerla tendremos que seguir las siguientes instrucciones:
3.1- Ir a tu Cuenta de Google.
3.1.1- Acceder al apartado de "Seguridad".
3.1.2- Habilitar en el apartado de "Cómo inicias sesión en Google" la "Verificación en 2 pasos".
3.1.3- Una vez habilitado, entrar en el apartado de Verificación en dos pasos y al final de la página localizar el bloque de "Contraseñas de aplicaciones".
3.1.4- Accedemos al bloque y generamos una nueva contraseña de tipo Correo y Ordenador con Windows.
Una vez pulsamos en GENERAR nos mostrará en una ventana la contraseña creada para nuestra aplicación.
La contraseña será algo así como: bfuzgdcwlqnyhfyf y una vez generada la pegamos en auth_password de nuestro archivo sendmail.ini .
4.- Enviar email desde PHP en XAMPP
Tras realizar todos los pasos anteriores, reinicia el XAMPP para aplicar los cambios.
Pegamos en un archivo PHP el siguiente código para comprobar que el envío de emails funciona correctamente:
<?php
$to_email = "tu_email@gmail.com";
$subject = "Email Test mediante PHP";
$body = "Hola, esto es una prueba de envío por mail desde XAMPP";
$headers = "De: sender\'s email";
if (mail($to_email, $subject, $body, $headers)) {
echo "Email enviado correctamente a $to_email...";
} else {
echo "Email fallo al enviar...";
}
?>
Comentarios
permitir enviar correo con aplicaciones menos seguras
Con ningun tutorial he conseguido mandar email desde localhost asta ahora con el tuyo.
Muchisimas MUCHISIMAS GRACIAS.
Un cordial saludo.
Warning: stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in C:\xampp\htdocs\sistemawebconagua\login\PHPMailer\class.smtp.php on line 356
Cual seria el codigo php para enviar el email. es curioso pero con estos cambios no puedo enviar ningun email .
Saludos cordiales
help me
Te dejo un link a un post con el codigo php para enviar email
Clica aqui
Warning: mail(): SMTP server response: 530 5.7.0 Must issue a STARTTLS command first. 106sm269149oth.63 - gsmtp in C:\xampp\htdocs\Escuela\directorio\send_email.php on line 21
en el debug sale los siguiente:
20/10/27 17:54:02 ** HALT: Mail Sender's Email is empty!
Muchas Gracias!
Prohibido
No tienes permiso para acceder a este recurso.
Apache/2.4.52 (Win64) OpenSSL/1.1.1m PHP/8.1.2 Servidor en localhost Puerto 80
ERROR
Tengo este problema.
¿Podrias apoyarme?
Publicar un comentario