Envíe un correo electrónico desde localhost ejecutando XAMMP en PHP usando el servidor de correo GMAIL
Intento enviar un correo electrónico desde localhost a mi cuenta de correo electrónico de Yahoo usando la función php mail(), la devolución dice que envié el correo electrónico correctamente pero no recibí ningún correo electrónico. He estado leyendo y probando muchas de las llamadas "formas sencillas" de enviar correos electrónicos, pero los resultados son decepcionantes, ninguna de ellas funciona para mí. A continuación se muestran el código, las configuraciones y el mensaje de error. ¿Alguien puede iluminarme con esto? Gracias.
codigo php
<?php
$to = '[email protected]';
$subject = 'Fake sendmail test';
$message = 'If we can read this, it means that our fake Sendmail setup works!';
$headers = 'From: [email protected]' . "\r\n" .
'Reply-To: [email protected]' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
if(mail($to, $subject, $message, $headers)) {
echo 'Email sent successfully!';
} else {
die('Failure: Email was not sent!');
}
?>
Configuración para php.ini (estoy usando el servidor de correo de Gmail)
SMTP =smtp.gmail.com
smtp_port =587
sendmail_from = [email protected]
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
Configuración para sendmail.ini
smtp_server=smtp.gmail.com
smtp_port=587
smtp_ssl=tls
error_logfile=error.log
debug_logfile=debug.log
[email protected]
auth_password=micontraseña
[email protected]
mensaje de error en el registro de errores de sendmail con el puerto 587
10/13/02 13:36:41: Primero debe emitir un comando STARTTLS. k4sm129639pbd.11 - gsmtp
Aquí está el enlace que me da la respuesta:
[Instalar] el " sendmail falso para Windows ". Si no está utilizando XAMPP, puede descargarlo aquí: http://glob.com.au/sendmail/sendmail.zip
[Modify] the php.ini file to use it (commented out the other lines): [mail function] ; For Win32 only. ; SMTP = smtp.gmail.com ; smtp_port = 25 ; For Win32 only. ; sendmail_from = <e-mail username>@gmail.com ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). sendmail_path = "C:\xampp\sendmail\sendmail.exe -t"
(ignore el bit "solo Unix", ya que en realidad estamos usando sendmail)
Luego tienes que configurar el archivo "sendmail.ini" en el directorio donde se instaló sendmail:
[sendmail] smtp_server=smtp.gmail.com smtp_port=25 error_logfile=error.log debug_logfile=debug.log auth_username=<username> auth_password=<password> force_sender=<e-mail username>@gmail.com
Para acceder a una cuenta de Gmail protegida por verificación de dos factores, deberá crear una contraseña específica de la aplicación . ( fuente )
en el archivo php.ini, descomente este
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
;sendmail_path="C:\xampp\mailtodisk\mailtodisk.exe"
y en sendmail.ini
smtp_server=smtp.gmail.com
smtp_port=465
error_logfile=error.log
debug_logfile=debug.log
[email protected]
auth_password=yourpassword
[email protected]
hostname=localhost
Configure este... funcionará... funciona bien para mí.
gracias.