Foros del Web » Programando para Internet » PHP »

problemas con funcion mail()

Estas en el tema de problemas con funcion mail() en el foro de PHP en Foros del Web. Hola a todos, Tengo dos pc 1.- debian y postfix como servidor SMTP y la otra es un Red Hat( ya esta configuracion con ip ...
  #1 (permalink)  
Antiguo 31/07/2006, 16:00
 
Fecha de Ingreso: agosto-2004
Mensajes: 50
Antigüedad: 19 años, 7 meses
Puntos: 0
Mensaje problemas con funcion mail()

Hola a todos,
Tengo dos pc 1.- debian y postfix como servidor SMTP y la otra es un Red Hat( ya esta configuracion con ip y puerto del servidor SMTP en php.ini)

Cuando ejecuto este codigo:
Código PHP:
if(mail("[email protected]","Prueba","Prueba de datos")){
  echo 
"Se envio sin problemas";
 }else{
 echo 
"no se pudo enviar "

Sale "Se envio sin problemas" pero sin envargo en el servidor SMTP revizo el log y no indica nada, como si no hubiera recibido nada y mucho menos que envio algo.

Hay algo que configurar para que recepcione el servidor STMP.

Gracias a todos
  #2 (permalink)  
Antiguo 31/07/2006, 16:56
 
Fecha de Ingreso: enero-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.047
Antigüedad: 21 años, 1 mes
Puntos: 10
no se si este sera el problema.. pero a la funcion mail hay que pasarle 4 parametros y no 3 como estas haciendo.

Código PHP:
$para "[email protected]";
$asunto "Prueba";
$mensaje ="Prueba de datos";
$headers ="From: Web <[email protected]>\r\n";
    
mail($para$asunto$mensaje$headers); 
__________________
oohh... quisiera ser godines!!!
  #3 (permalink)  
Antiguo 01/08/2006, 09:08
 
Fecha de Ingreso: agosto-2004
Mensajes: 50
Antigüedad: 19 años, 7 meses
Puntos: 0
Hola safe:

Susede lo mismo, tengo entendido que la cabecera es opcional, pero de todos modos sale lo mismo, dice que envio pero la otra pc no recibe nada.

Código PHP:
$para "[email protected]";
$asunto "Prueba";
$mensaje ="Prueba de datos";
$headers ="From: Web <[email protected]>\r\n";

if(
mail($para$asunto$mensaje$headers)){
  echo 
"Se envio sin problemas";
}else{
 echo 
"no se pudo enviar "

La otra pc es debian con Postfix, crees que hay que configurar algo para que realice esta tarea?
  #4 (permalink)  
Antiguo 01/08/2006, 09:16
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Pero en los log's de Postfix (tu servidor SMTP) .. no recibes nada? pese haber configurado php.ini SMTP= IP del servidor SMTP?

Revisa tu firewall (del servidor que corre PHP y el que corre tu servidor SMTP) .. los puertos SMTP deben estar abiertos en ambas casos (de salida y de entrada respectivamente).

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 01/08/2006, 09:19
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 18 años, 2 meses
Puntos: 3
Mmm tambien puede ser la configuracion del correo ,no? Yo cuando andaba en esos asuntos de mail...en hotmail aveces no me llegaban los correos... aveces llegaba a correo no deseado y aveces simplemente no me llegaba... Probe con gmail y siempre llego...prueba mandandolo a otro servidor de correo u otro smtp... por q a simplevista en el script no hay error..
__________________
-URL= Go PHP5.
-Age=22.
-Learning=PHP,J2EE,Struts,MAMBO,C++,JSON,AJAX,XHTML ,CSS.
  #6 (permalink)  
Antiguo 01/08/2006, 09:24
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Cita:
Iniciado por B**
Mmm tambien puede ser la configuracion del correo ,no? Yo cuando andaba en esos asuntos de mail...en hotmail aveces no me llegaban los correos... aveces llegaba a correo no deseado y aveces simplemente no me llegaba... Probe con gmail y siempre llego...prueba mandandolo a otro servidor de correo u otro smtp... por q a simplevista en el script no hay error..
El problema que tiene es que PHP no entrega el e-mail al MTA que usa (Postfix como servidor SMTP) .. Por eso debe revisar sus log's para ver "quien" le rechaza esa conexión . .ya sea un apunte mal de la IP del servidor de correo o un firewall que bloquea la conexión .. o algún otro tipo de restricción (del própio servidor SMTP .. pero en tal caso eso en los "log's" se vería).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 01/08/2006, 10:34
 
Fecha de Ingreso: agosto-2004
Mensajes: 50
Antigüedad: 19 años, 7 meses
Puntos: 0
Verifique el log de la pc donde realiza el envio al servidor y sale esto.

Aug 1 11:16:02 SIGASNEW sendmail[28535]: k71GG2Er028535: [email protected], delay=00:00:00, mailer=esmtp, pri=30096, dsn=4.4.3, stat=queued

Que puede estar mal.
El ip y el port estan ok en php.ini , los firewalls estan deshabilitados
  #8 (permalink)  
Antiguo 01/08/2006, 10:48
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Según el log que indicas .. PHP está entregando el e-mail a enviar al MTA ..

Eso sí .. ese "log" es el del servidor que corre PHP? .. o el de tu servidor SMTP (postfix) que corres en la otra máquina?

Parece que PHP está usando el MTA del servidor que corre PHP .. Revisa tu configuración de PHP ..

la línea de "sendmail_path=" debería estar comentada (con un ; delante) para que use tu SMTP explicitamente (el que tu le indicas).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #9 (permalink)  
Antiguo 01/08/2006, 14:03
 
Fecha de Ingreso: agosto-2004
Mensajes: 50
Antigüedad: 19 años, 7 meses
Puntos: 0
El log que te envie es del servidor PHP.

Configuracion de php.ini en esta pc es.
Cita:
[mail function]
; For Win32 only.
SMTP = 172.26.1.35
smtp_port = 25

; For Win32 only.
sendmail_from = [email protected]

; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
;sendmail_path = /usr/sbin/sendmail -t -i
Ya cambie lo que me dijiste sobre sendmail_path, reinicie el servicio y sigue igual, no envia y en el log tengo esto:

Cita:
Aug 1 15:09:05 SIGASNEW sendmail[32604]: k71K95Xf032604: from=apache, size=92, class=0, nrcpts=1, msgid=<[email protected] domain>, relay=apache@localhost
Aug 1 15:09:05 SIGASNEW sendmail[32604]: k71K95Xf032604: [email protected], delay=00:00:00, mailer=esmtp, pri=30092, dsn=4.4.3, stat=queued
Existe otra que pueda revisar?
  #10 (permalink)  
Antiguo 01/08/2006, 14:30
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Pero insisto .. el log que muestras de tu servidor de correo es el de la máquina con IP: 172.26.1.35 ?

Si es así, por lo menos PHP hizo su trabajo: entregó el e-mail al MTA configurado ...

El resto de problemas o por qué no llega tu e-mail a la dirección indicada ya es cosa de que revises los log´s de tu servidor de correo y los interpretes. (Puedes consultar en el foro de "Redes ...")

Sólo te puedo recomendar que uses direcciones de destino NO-Hotmail ni Gmail .. ni servicios de ese estilo ..prueba con direcciones de correo a un dominio cualquiera (que tengas acceso claro para verlo).

SUpongo que tu servidor de correo Postfix (por cierto .. por qué los log's hace mención a "sendmail"?) está configurado correctamente como para enviar e-mails a direcciones no-locales sólo (hacia el exterior).

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 14:35.