mail - No se puede enviar correo electrónico utilizando PHP
enviar formulario a correo php (1)
Ha configurado el puerto 25 para el servidor de correo.
El mensaje de error que recibe dice que no puede conectarse a localhost:25
.
Por lo tanto, tienes dos opciones:
- Instalar / Configurar correctamente un servidor SMTP en el puerto localhost 25
- Cambia la configuración a diferentes puertos a los que te puedes conectar:
- Puerto para TLS / STARTTLS: 587
- Puerto para SSL: 465
Este hilo del foro de soporte puede ser útil.
Vista previa: he intentado enviar un correo electrónico usando Moodle durante mucho tiempo y finalmente decidí probar el envío de un correo electrónico mediante el uso de una función estándar de correo PHP () para comprobar si el correo funciona bien.
¡PERO INCLUSO PHP NO ENVÍA UN CORREO ELECTRÓNICO!
Escenario del problema:
Este es mi código para PHP:
$to = "[email protected]";
$subject = "Test mail";
$message = "Hello! This is a simple email message.";
$from = "[email protected]";
$headers = "From:" . $from;
ini_set( "sendmail_from", "[email protected]" );
ini_set( "SMTP", "smtp.gmail.com" );
ini_set( "smtp_port", "25" );
ini_set("username","[email protected]");
ini_set("password","password");
mail($to,$subject,$message,$headers);
echo "Mail Sent.";
El error que obtengo es:
Warning: mail() [function.mail]: SMTP server response: 530 5.7.0 Must issue a STARTTLS command first. sz6sm10013088pab.5 - gsmtp in C:/Program Files (x86)/Moodle/server/moodle/user/edit.php on line 252
He probado mi servidor de gmail utilizando Telnet y está escuchando bien en el puerto 25. He hecho todo lo que se ha dicho por este error y otras publicaciones relacionadas
Intentó: "ssl: //smtp.gmail.com" pero simplemente daría el siguiente error:
Warning: mail() [function.mail]: Failed to connect to mailserver at "ssl://smtp.gmail.com" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:/Program Files (x86)/Moodle/server/moodle/user/edit.php on line 252
aunque openssl.dll ha sido descomentada en PHP.ini.
;extension=php_tidy.dll
extension=php_xmlrpc.dll
;extension=php_openssl.dll;
Además, he configurado el archivo php.ini (php.ini-production y php.ini-development también):
[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = smtp.gmail.com
; http://php.net/smtp-port
smtp_port = 25
; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = [email protected]
Pero agregar esto a php.ini no marcó la diferencia (por lo tanto, recurrí a set_ini ()) ya que el servidor continuaría diciendo que "el servidor smtp localhost no puede configurarse en el puerto 25" aunque configuré SMTP = smtp. gmail.com en php.ini.
Cualquier ayuda sobre esto sería muy apreciada. Gracias por adelantado.