Envíe un correo electrónico desde localhost ejecutando XAMMP en PHP usando el servidor de correo GMAIL

Resuelto ani asked hace 54 años • 5 respuestas

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

ani avatar Jan 01 '70 08:01 ani
Aceptado

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 )

ani avatar Oct 02 '2013 10:10 ani

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.

Rambabu avatar Mar 28 '2014 12:03 Rambabu