Saltar al contenido

PHP: enviar correo en localhost

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:

  1. Instalar / configurar correctamente un servidor SMTP en el puerto 25 del host local
  2. 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.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : / /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *