Phpmailer - Problemas con el Smtp

  • Autor Autor Linares
  • Fecha de inicio Fecha de inicio
L

Linares

Beta
Verificado por Whatsapp
Que tal, no se que pueda pasar pero espero me ayuden.

Tengo problemas con el Phpmailer, he revisado y no doy con el error.. Este es el error:

SMTP Error: Could not connect to SMTP host

Este es mi código:

PHP:
$mail = new PHPMailer();

        $mail->IsSMTP();
        $mail->SMTPAuth   = true;                // enable SMTP authentication
        $mail->Host       = $rowCuentaEnvio["smtp"];

        if ($rowCuentaEnvio["puerto"]) {
            $mail->Port       = $rowCuentaEnvio["puerto"];                
            $mail->SMTPSecure = "ssl";            
        }

        //Conexión al servidor
        $mail->Username   = $rowCuentaEnvio["cuenta"];  
        $mail->Password   = $rowCuentaEnvio["clave"];               

        //$mail->AddReplyTo("sectorservicios@clippingdigital.com","Sector Comunicación - ClippingDigital.com");

        #Remitente
        $mail->From       = $rowCuentaEnvio["cuenta"];
        $mail->FromName   = $rowCuentaEnvio["nombre"];


        $mail->Subject    = $rowCliente["nombre"]." - ".date("d/m/Y");
        if ($rowConfig["imagen"]) {
            $mail->AddEmbeddedImage($rowConfig["imagen"], "my-attach", "header_mail.jpg");            
        }        
        $sintesis = '<center><img src="cid:my-attach"></center><br><br>'.$sintesis;
        $mail->Body    =  $sintesis;

        $mail->IsHTML(true); // send as HTML

        $query = "SELECT * FROM clientes_dir_envios WHERE id_cliente = ".$_REQUEST["i"];
        $rs = mysql_query($query) or die (mysql_error($Conn));
        $mail->AddAddress($rowCuentaEnvio["alias"]);    
        while($row = mysql_fetch_array($rs)) {
            $enviar = 1;
            //$mail->AddBCC($row["destinatario"]);                
                        if ($_REQUEST["i"] != 236 && $_REQUEST["i"] != 303) {
                            $mail->AddBCC(trim($row["destinatario"]));            
                        } else {
                            $mail->AddAddress(trim($row["destinatario"]));                                
                        }
            $cadEnviados2 .= $row["destinatario"].",";                
        }
        if ($enviar) {
            $mail->AddBCC(trim("controlenviovenmedios@gmail.com"));
            $mail->Send();        
            if ($mail->ErrorInfo) echo "Error " . $mail->ErrorInfo;            
            else {
                echo "1";
                $query = "INSERT INTO sintesis_mail_envios (id_cliente,fecha_envio,enviado_a) VALUES (".$_REQUEST["i"].",'".date("Y-m-d")."','".$cadEnviados2."')";
                $rs = mysql_query($query) or die (mysql_error($Conn));            
            }
        } else {
            echo "error ";                    
        }
} else {
    echo "error ";    
}

Que podría tener mal? Gracias!
 
Prueba poniendo así


$mail->SMTPAuth = true;
$mail->SMTPSecure = "ssl";

Saludos
 
Es el hosting envia ticket.
 
Ah lo siento, me falto señalar eso..

Es un servidor local que trabaja bajo Linux - Ubuntu.
 
Yo tenia un problema similar con el SMTP pero lo arregle usando :

PHP:
$mail->Port = 465;
$mail->SMTPSecure = 'ssl';

Y creo que te falta llamar al archivo del PHPMailer:
PHP:
require (dirname(__FILE__) . '/PHPMailer-master/PHPMailerAutoload.php');

Si no funciona, puedes tratar de configurar el email de donde envías los correos; para habilitar el puerto SMTP.
 
Ya coloque el

PHP:
require (dirname(__FILE__) . '/PHPMailer-master/PHPMailerAutoload.php');

y ahora se queda en "Enviando... Por favor espere" no termina de enviar ni decir error al enviar.
 
como te han dicho te falta importar la libreria con include o require.