Solución:
Está configurado para usar localhost:25
para el servidor de correo.
El mensaje de error dice que no se puede conectar a localhost:25
.
Por lo tanto, tiene dos opciones:
- Instalar / configurar correctamente un servidor SMTP en el puerto 25 del host local
- Cambie la configuración para que apunte a algún otro servidor SMTP que pueden conectar a
Pasé horas en esto. No solía recibir errores, pero los correos nunca se enviaban. Finalmente encontré una solución y me gustaría compartirla.
<?php
include 'nav.php';
/*
Download PhpMailer from the following link:
https://github.com/Synchro/PHPMailer (CLick on Download zip on the right side)
Extract the PHPMailer-master folder into your xampp->htdocs folder
Make changes in the following code and its done :-)
You will receive the mail with the name Root User.
To change the name, go to class.phpmailer.php file in your PHPMailer-master folder,
And change the name here:
public $FromName="Root User";
*/
require("PHPMailer-master/PHPMailerAutoload.php"); //or select the proper destination for this file if your page is in some //other folder
ini_set("SMTP","ssl://smtp.gmail.com");
ini_set("smtp_port","465"); //No further need to edit your configuration files.
$mail = new PHPMailer();
$mail->SMTPAuth = true;
$mail->Host = "smtp.gmail.com"; // SMTP server
$mail->SMTPSecure = "ssl";
$mail->Username = "[email protected]"; //account with which you want to send mail. Or use this account. i dont care :-P
$mail->Password = "trials.php.php"; //this account's password.
$mail->Port = "465";
$mail->isSMTP(); // telling the class to use SMTP
$rec1="[email protected]"; //receiver. email addresses to which u want to send the mail.
$mail->AddAddress($rec1);
$mail->Subject = "Eventbook";
$mail->Body = "Hello hi, testing";
$mail->WordWrap = 200;
if(!$mail->Send()) {
echo 'Message was not sent!.';
echo 'Mailer error: ' . $mail->ErrorInfo;
} else {
echo //Fill in the document.location thing
'<script type="text/javascript">
if(confirm("Your mail has been sent"))
document.location = "https://foroayuda.es/";
</script>';
}
?>
Necesitará instalar un servidor de correo local para hacer esto. Si desea enviarlo a direcciones de correo electrónico externas, es posible que termine en correos electrónicos no deseados o que no llegue en absoluto.
Un buen servidor de correo que utilizo (lo uso en Linux, pero también está disponible para Windows) es Axigen: http://www.axigen.com/mail-server/download/
Es posible que necesite algo de experiencia con servidores de correo para instalarlo, pero una vez que funcione, puede hacer lo que quiera con él.