![]() |
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:
¿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: |
Respuesta: Internal Server Error al enviar un email al dominio gemail.com?? la dirección correcta no será @gmail.com sin la e??? Saludos!! |
Respuesta: Internal Server Error al enviar un email al dominio gemail.com?? safe: Cita:
gemail.com es un dominio debidamente registrado por -> Cita:
Cita:
Y los errores 500 no son recibidos por el codigo que utiliza la funcion mail() sino que las recibe el servidor de correo y algun admin correo es notificado. El proceso es el siguiente -> La funcion mail() entrega el correo a un servidor de correo predeterminado. Si el destino es [email protected] El servedor revisa que contenga @ y un . y que sea com, net, org, etc y si cumple lo acepta para envio; si el dominio NO existe entonces el servidor de correo o el admin del servidor recibe el rechazo del correo consecuencia del dominio que no existe (500) y desde tu codigo php que utilizo la funcion mail() para enviar no tiene forma de saber que paso exactamente. El otro punto medular es que el error 500 no viene solo sino que siempre se le adjunta ena explicacion detallada del porque del rechazo. Saludos Y espero te ayude Franco |
Respuesta: Internal Server Error al enviar un email al dominio gemail.com?? Gracias por la completa respuesta Franco190453. Igual hay cosas que sigo si entender. Tu dices lo siguiente Cita:
Por otro lado dices: Cita:
Saludos y nuevamente gracias por tu ayuda. |
Respuesta: Internal Server Error al enviar un email al dominio gemail.com?? safe: Cita:
en otras palabras el codigo esta bien. Cita:
Cita:
de acuerdo a lo normal y esperado. Cita:
Solo puedo darte un poco de mas detalles sobre el proceso y quedo completamente confundido cuando dices que tu cliente es el que recibe el error; y lo unico que NO me queda claro es que si el INTERNAL SERVER ERROR se refiere al Sistema Operativo de tu cliente o al servidor; o el sistema operativo de tu cliente tiene problemas con la aplicacion. Finalmente, podria ser que la aplicacion busca los records MX del dominio y se confunde. Puedo decir lo siguiente: La direccion inexistente y por ende el usuario inexistente implica una consulta dns que reporta un dominio que no existe y se detiene la consulta. En cambio en el caso de gemail.com implica una consulta de dominio que si existe y MX records que no existen y por ende un usuario que no existe; Aqui parece estar el problema de la aplicacion y NO de la funcion mail() ni de los servidores de correo. Saludos Muy interesante tu post Y espero lo resuelvas favorablemente. Franco:-) P.S. Creo debes profundizar un poco mas como maneja la aplicacion el envio de correos!. |
Respuesta: Internal Server Error al enviar un email al dominio gemail.com?? Hola y gracias nuevamente franco190453, Creo que no te queda claro a que me refiero con que el servidor devuelve un error 500. Voy a intentar explicarlo mediante un ejemplo sencillo. Suponte que yo tengo un archivo llamado enviar.php y adentro de ese archivo tengo el siguiente codigo: Código PHP: Ahora bien, si por casualidad cambio: $para = '[email protected]'; por $para = '[email protected]'; cuando ingreso a www.miservidor.com/enviar.php mi servidor se queda "pensando" unos minutos (literalmente) y de golpe aparece el siguiente mensaje: Cita:
|
Respuesta: Internal Server Error al enviar un email al dominio gemail.com?? safe: Te pido disculpas y ahora si veo mas claramente que es lo que esta pasando. Pero bueno, NO lo habias explicado con esa claridad antes!. Cita:
la diferencia existente entre esas dos direcciones de correo. 1.- Ambos son dominios debidamente inscritos y revisados por mi persona de que existen, muy especialmente el caso de gemail.com Esto descarta cualquier posibilidad que el dominio sea el problema. 2.- El usuario no existe en ambas direcciones y por tanto no se debe al usuario la causa de esta respuesta. Esto descarta totalmente al usuario como causante de tal conducta del servidor. 3.- La unica diferencia entre ambos dominios, segun whois y dnsstuff.com es que hotmail.com tiene MX records; estos son utilizados por los servidores de correo PERO gemail.com NO tiene MX records. Probablemente y ahora si que estoy casi seguro el servidor de correo solicita al servidor de dns, que debiera estar en el mismo hosting por los MX records para asi proceder con el envio y logicamente el servidor de dns NO responde por NO existir y se trunca o corta el proceso provocando un error del servidor web. Ahora, haciendo mis pruebas con mi servidor de correo y utilizando literalmente las direcciones que tu pusistes arriba; yo NO obtuve ninguna respuesta anormal; en ambos casos mi codigo o script envio y en el servidor de correo sale un failed para ambos y una respuesta inmediata al administrador del servidor indicando que ambos correos NO se entregaron por xyz razones. Esto es congruente con mis explicaciones anteriores y corroboran la veracidad y autenticidad de mis explicaciones anteriores Conclusion, el servidor de correo de tu hosting o el que tu utilizas o tu cliente utiliza esta teniendo problemas con el servidor web por efecto directo de los MX records y el servidor de dns que utilizan. Sin duda alguna el servidor de correo o el servidor web no es de buena calidad ni cumple con los estandares para servidores y pareciera que por ello es que hay tantos problemas con los correos y debemos siempre seleccionar servidores que verdaderamente esten bien diseñados y cumplan con las especificaciones establecidas. finalmente, no me queda ni la mas minima duda que hay servidores que literalmente no son del todo aceptables. Bueno seria saber el nombre especifico del servidor de correo y servidor web que utilizan tu hosting o cliente para enviar correos y manejar paginas web ya que seria una opcion a descartar. Saludos Y muchas gracias por tu explicacion y siento haber aprendido un poco mas Y espero te ayude mis comentarios Franco:-):aplauso::-) |
Respuesta: Internal Server Error al enviar un email al dominio gemail.com?? Bueno, muchisimas gracias por tu ayuda franco190453! toda la información me ha sido de mucha ayuda. |
La zona horaria es GMT -6. Ahora son las 21:25. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2025, Jelsoft Enterprises Ltd.