Foros del Web » Programando para Internet » PHP »

Problemon mail() y phpmailer()

Estas en el tema de Problemon mail() y phpmailer() en el foro de PHP en Foros del Web. Buenas, estoy intentando enviar un formulario con mail() en el servidor de un conocido y no lo he consegido e utilizado 1000 veces esta funcion ...
  #1 (permalink)  
Antiguo 04/10/2006, 03:51
 
Fecha de Ingreso: octubre-2005
Mensajes: 151
Antigüedad: 18 años, 5 meses
Puntos: 1
Problemon mail() y phpmailer()

Buenas, estoy intentando enviar un formulario con mail() en el servidor de un conocido y no lo he consegido e utilizado 1000 veces esta funcion en otros servers y me va de pinga, en este servidor no me da ningun error pero los emails no llegan, creo que hay que cambiar algun parametro del php.ini
¿ Alguien a tenido alguna vez el mismo problema?

Tambien he probado con phpmailer y en local me envia los mails perfectamente pero al subirlo al servidor lo mismo no me da ningun error pero no llegan los mails. Haciendo unos echos me he dado cuenta que se pierden este callback >>> $exito = $mail->Send(); que es una llamada a una funcion que esta en class.phpmailer.php
Por favor, una ayuda de alguien, llevo 2 dias con el problema y me esta entrando un bajon de la ost....
El servidor corre bajo linux.
Gracias un y un saludo.
  #2 (permalink)  
Antiguo 04/10/2006, 06:29
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Tu tienes acceso a los Logs del MTA o servidro SMTP que usa el servidor que te falla?.

Es ahí donde debes revisar como se transa la entrega del e-mail. Ahí veras el mensaje de error concreto. Según ese mensaje .. puede ser problema tanto de configuración (servidor de correo) / Bloqueos (firewall, routers ..) de ese servidor. Cuando usas PHPmailer usas directamente cierto servidor SMTP .. cuando usas mail() de PHP depende de que MTA se indicó en la configuración de PHP que use (php.ini: SMTP = ... ).

Con PHPMailer puedes hacer "autentificación" (cosa que mail() no puede) y este suele ser una causa típica de que cierto servidor SMTP bloquee envios fuera de sus dominios locales (por qué requiere autentificación) .. un tema a tener presente.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 04/10/2006, 08:10
 
Fecha de Ingreso: octubre-2005
Mensajes: 151
Antigüedad: 18 años, 5 meses
Puntos: 1
Cluster, gracias por responder, entiendo que autentificarse con phpmailer es poner todos los datos de acceso al correo>>
//Asignamos a Host el nombre de nuestro servidor smtp
$mail->Host = "hostindelservidor";
//Le indicamos que el servidor smtp requiere autenticación
$mail->SMTPAuth = true;

//Le decimos cual es nuestro nombre de usuario y password
$mail->Username = "usuario";
$mail->Password = "contraseña";


//Indicamos cual es nuestra dirección de correo y el nombre que
//queremos que vea el usuario que lee nuestro correo
$mail->From = "[email protected]";

Pues lo raro es que esto ya lo tengo puesto, y si pruebo el formulario desde local funciona preo en el servidor se pierde en >>> $exito = $mail->Send();
Alguna idea?
gracias por contestar, un saludo
  #4 (permalink)  
Antiguo 04/10/2006, 09:35
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Que significa:

Cita:
preo en el servidor se pierde en >>> $exito = $mail->Send();
A todo esto .. insisto: ¿tu tienes acceso a los logs del servidor de correo que usas? o tienes forma de conseguirtelos. Es lo más sano para evaluar un problema de estas características.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 04/10/2006, 09:49
 
Fecha de Ingreso: octubre-2005
Mensajes: 151
Antigüedad: 18 años, 5 meses
Puntos: 1
preo en el servidor se pierde en >>> $exito = $mail->Send();

Significa que durante el escript le he idi poniendo unos echo para haber donde se paraba el script, y al llegra a esa linea que es un callback a la funcion Send() de class.phpmailer.php no sigue el script, sin embargo en local le hago un echo "Gracias por enviar tu consulta " al final del script y va muy bien y recibo los emails perfectamente.

Te cuento , el otro dia al probar con la funcion mail() me dijo que daba el siguiente error

Oct 1 20:06:32 server postfix/qmgr[772]: EBE607: from=<[email protected]>, size=510, nrcpt=1 (queue active)
Oct 1 20:06:32 server postfix/qmgr[772]: EBE607: to=<[email protected]>, orig_to=<[email protected]>, relay=none, delay=2749, status=deferred (delivery temporarily suspended: transport is unavailable)

No se si esto puyede servir de algo

El asunto es que me ha dicho que si encuentro yo la solucion me puede cambiar algo de la configuracion, haber si me podeis echar un guante.
Gracias

Última edición por atiro8; 05/10/2006 a las 14:55
  #6 (permalink)  
Antiguo 04/10/2006, 11:17
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
No domino tanto el protocolo SMTP como para ver que significa esos mensajes de error. Lo que si que te puedo comentar es que para pruebas de este estilo y problemas similares a "Postfix" (tu servidor de correo) se puede activar un modo de log's más completo que la línea que mencionas sólo de la transacción para ver exactamente donde falla.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 13:11.