Problemas con phpMailer y servidor MSExchange

Sebastián Veloso Varas sveloso en sevelv.cl
Mar Dic 2 20:22:06 CLST 2008


José Palacio escribió:
> Hola a todos,
>
> Mi problema es el siguiente:
>
> Debo desarrollar una página en php que envie una serie de correos a
> diferentes usuarios registrados en una base de datos de mysql, con
> información única para cada usuario (dicha información está en la base de
> datos), el problema es que el servidor de correo no se encuentra en la misma
> máquina, es más es un servidor de correo en Windows con Microsoft Exchange
> 2007, para hacerlo utilizo la clase phpMailer, con el siguiente código de
> prueba:
>
> <?php
> include_once('class.phpmailer.php');
> $mail = new PHPMailer();
> $mail->IsSMTP();
> $mail->Host = "miservidorExchange";
> $mail->SMTPAuth = true;
> $mail->Username = "cuenta en miservidorExchange";
> $mail->Password = "mipassword";
> $mail->From = "cuenta en miservidorExchange";
> $mail->FromName = "Mi Nombre";
> $mail->Body = "Mensaje"
> $mail->Subject = "PHPMailer Test Subject";
> $mail->AltBody = "To view the message, please use an HTML compatible
> $mail->MsgHTML($body);
> $mail->AddAddress("cuenta en correodestino", "Nombre Destino");
>
> if(!$mail->Send()) {
> echo 'Falla enviando mail ' . $mail->ErrorInfo;
>
> } else {
> echo 'Mail enviado';
> }
>
> ?>
>
> Al probar el script para verificar el envio de prueba me muestra el
> siguiente mensaje de error
>
> SMTP Error: Could not connect to SMTP host.
>
> Que obviamente es un problema de conexión con el servidor Exchange, ahora mi
> pregunta es si el error será en el phpMailer o en El Exchange, la verdad es
> la primera vez que hago esto.
>
> Gracias de antemano
>
>   

Hola José,

Lo primero, revisa que tu equipo Linux pueda realizar telnet hacia el 
Exchange Server. De ser asi, verifica el tema de relay.

Yo he probado el tema de autenticación SMTP en Exchange con aplicaciones 
web,  pero la verdad siempre da "lios". Exchange usa otros mecanismos de 
autenticacion, como NTLM, Kerberos y hasta sobre IPSEC.

Sugiero que habilites relay al servidor desde donde estas generando el 
envio de correo. Para hacerlo :
Abres la consola de Exchange -> Configuracion de Servidores -> 
Transporte de Concentradores -> Selecciona en "Conectores de Recepcion" 
el "Default". Ábrelo, y selecciona el tab "Red" y agrega
la IP a cual necesitas aplicar el relay. Entonces puedes generar envíos 
con el propio MTA del Linux y reenviarlo a tu Exchange.

Saludos Cordiales,

Sebastian Veloso Varas.





Más información sobre la lista de distribución Linux