Foros del Web » Programando para Internet » PHP »

Problema con SMTP

Estas en el tema de Problema con SMTP en el foro de PHP en Foros del Web. Buenas, me estoy volviendo loco y necesito ayuda. Tengo un servidor de correo saliente instalado (MailEnable) configurado para que haga los envíos directamente, PHP usa ...
  #1 (permalink)  
Antiguo 29/09/2009, 15:22
 
Fecha de Ingreso: abril-2004
Ubicación: Rosario, Argentina
Mensajes: 124
Antigüedad: 20 años
Puntos: 11
Exclamación Problema con SMTP

Buenas, me estoy volviendo loco y necesito ayuda.

Tengo un servidor de correo saliente instalado (MailEnable) configurado para que haga los envíos directamente, PHP usa este servidor SMTP cuando se utiliza la función mail(). Hasta aquí todo perfecto.

Ahora bien, necesito configurar el MailEnable para que el envío lo haga otro servidor SMTP (el que me provee mi ISP). Configuro todo y funciona a la perfección, salvo por un detalle.

Cuando realizo el envío y especifico el FROM dentro de la función mail de esta forma:

Código:
mail("[email protected]", "asunto", "cuerpo", "From: Yo <[email protected]>");
El envío no se realiza y mirando los logs del MailEnable me encuentro con esto:

Código:
MAIL FROM:<Yo <[email protected]> SIZE=242	250 sender <Yo <[email protected]> ok
Veo que está volviendo a encerrar entre paréntesis angulares el FROM por lo que no puedo escribir el nombre del que envía... Solamente el email.

En algunos foros vi que en Windows ( ¿? no se qué tendrá que ver Windows en todo esto) no es posible escribir con esa sintaxis (nombre <[email protected]>) dentro del TO, CC o en el CCO. Pero no dicen nada al respecto sobre que no funcione con el FROM tampoco.

No estoy seguro si es un BUG de PHP, del MailEnable o de Windows pero la cosa es que no anda. También vi que con otro servidor SMTP pasaba lo mismo y lo he probado hasta con el Mercury 32 y pasa exáctamente lo mismo.

Les agradezco mucho haber llegado al final del post aunque no tengan respuesta, y si pueden ayudarme les agradezco aún más.


Un saludo.
  #2 (permalink)  
Antiguo 29/09/2009, 15:32
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Problema con SMTP

Prueba cambiar la sintaxís y no usar así la cabecera si no From: [email protected] y prueba, así puedes diagnosticar donde esta el problema.

Saludos.
  #3 (permalink)  
Antiguo 29/09/2009, 16:11
 
Fecha de Ingreso: abril-2004
Ubicación: Rosario, Argentina
Mensajes: 124
Antigüedad: 20 años
Puntos: 11
Con esa otra sintaxis funciona a la perfección, el problema es cuando quiero ingresar el nombre también.

Código:
no realiza el envío correctamente, pero si ingreso solamente la casilla de email sí que funciona. Y necesito hacerlo de esta otra forma no solamente con la casilla de email.

Creo que el problema está cuando el servidor SMTP hace el relay hacia el otro servidor, me parece que no parsea correctamente la cabecera FROM :(

Última edición por GatorV; 29/09/2009 a las 19:14
  #4 (permalink)  
Antiguo 29/09/2009, 19:16
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Problema con SMTP

Prueba usar miniRelay para hacer el relay al servidor de Gmail.

Saludos.
  #5 (permalink)  
Antiguo 30/09/2009, 06:09
 
Fecha de Ingreso: abril-2004
Ubicación: Rosario, Argentina
Mensajes: 124
Antigüedad: 20 años
Puntos: 11
Cita:
Iniciado por GatorV Ver Mensaje
Prueba usar miniRelay para hacer el relay al servidor de Gmail.

Saludos.
Lo bajé pero no encuentro ningún lugar en la configuración para poner el host, usuario y contraseña del servidor SMTP que debe realizar el envío, alguna idea?

Lo voy a explicar de otra forma al problema:


Esto funciona:
Código:
mail("[email protected]", "asunto", "cuerpo", "From: [email protected]");
Esto NO funciona:
Código:
mail("[email protected]", "asunto", "cuerpo", "From: Origen <[email protected]>");
Y necesito hacerlo de la segunda forma, a alguien le ha pasado? Alguna solución que no sea quitar el nombre en el From?

Solucionado, no el problema que estaba pensando...

Al parecer, cuando se utiliza de esa forma (un servidor SMTP que redirecciona el correo saliente hacia otro SMTP) el primer server usa el FROM puesto en la función mail para pasarlo al segundo como comando no como cabecera y en este caso no se puede poner el nombre, solamente el email. Por ello es ineficiente la función mail() de PHP para realizar esta tarea bajo esas condiciones.

Saludos y gracias por su tiempo.

Última edición por GatorV; 30/09/2009 a las 09:22
  #6 (permalink)  
Antiguo 01/10/2009, 12:47
 
Fecha de Ingreso: diciembre-2007
Mensajes: 28
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Problema con SMTP

yo lo hago asi , y m efunciona muy bien

$cabecera = "From: nombre origen <[email protected]> \r\n";
$mensaje2='este es mi mensaje';
if(mail("[email protected]", "aqui va mi asunto", $mensaje2,$cabecera))
echo "envio";
else
echo "no se envio";
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:56.