Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/03/2009, 10:28
safe
 
Fecha de Ingreso: enero-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.047
Antigüedad: 21 años, 3 meses
Puntos: 10
Internal Server Error al enviar un email al dominio gemail.com??

Buenas,
Tengo un sistema elemental de lista de correo programada en PHP. Al sistema lo he utilizado en varios proyectos distribuidos en varios servidores diferentes y nunca me dio problemas. Bueno, al menos hasta ahora.
Resulta que ayer recibi un email de un cliente diciendo que cuando queria enviar emails a la lista le daba un error "500 Internal Server Error" y haciendo pruebas para ver que podia ser me encontre con la increible situacion de que el problema lo causaba una direccion de email "abc@gemail.com". Asi como lo oyen, si dentro de todos los emails que se tienen que enviar, figura algun direccion cuyo servidor es "gemail.com" el server lanza un error 500.
Hice cientos de prueba y solo sacando ese mail la aplicacion deja de dar error. De hecho he añadido direcciones de emails obviamente inexistentes del tipo "[email protected]" y el envio se realiza perfectamente. Pero si vuelvo a agregar una direccion cualquiera con el dominio gemail.com vuelve a tirar el mismo error (por mas que cambie la cuenta).
Ante esta bizarra situacion envie un email al soporte del servidor (el poco recomendable Arsys) y su increible respuesta fue:

Cita:
En relación a su consulta indicarle que se han realizado distintos envíos desde la función mail de php hacia cuentas del tipo @gemail.com reportando en todos los casos el error 500 puesto que es una dirección incorrecta.
Pese a que yo no se nada de servidrores estoy seguro que esto no es asi, primero por que si asi fuera cuando yo intento enviar un mail a "[email protected]" tambien me deberia dar un error 500 y segundo porque si la funcion mail() de php devolviera un error cuando se intenta enviar un mail a un dominio incorrecto (cosa que estoy 99,99% seguro que no hace) el error deberia ser de PHP y no de Apache (de hecho lo que haria seria devolver false en vez de true y nunca dar un error y muchos menos uno 500).

¿Alguien tiene algun tipo de idea de lo que puede estar sucediendo?

Este es el codigo (simplificado) de la seccion del script donde se envian los mails (uso la clase PHPmailer):

Código PHP:
$mail = new PHPMailer();
$mail->From       "[email protected]";
$mail->FromName   "Abc.es";
$mail->Subject    "Abc.es - News";
$body             $mail->getFile('mailing.html');
$body             eregi_replace("[\]",'',$body);
$mail->MsgHTML($body);

$log '';
while(
$rs=mysql_fetch_array($sql_final)){
    
$mail->AddAddress(trim($rs['mail']), "");
    if(!
$mail->Send()) {
      
$log .= "Mailer Error: ".$rs['mail']." - " $mail->ErrorInfo;
    } else {
      
$log .= "Message sent: ".$rs['mail'];
    }
}
echo 
$log
__________________
oohh... quisiera ser godines!!!