Foros del Web » Programando para Internet » PHP »

problema con mail()

Estas en el tema de problema con mail() en el foro de PHP en Foros del Web. Hola a todos tengo instalado un servidor de SMTP,el QK SMTP Server.Pero al hacer un mail() con php me sale el siguiente error: Warning: mail(): ...
  #1 (permalink)  
Antiguo 03/01/2005, 05:29
 
Fecha de Ingreso: junio-2004
Ubicación: ORENSE
Mensajes: 257
Antigüedad: 13 años, 5 meses
Puntos: 0
problema con mail()

Hola a todos tengo instalado un servidor de SMTP,el QK SMTP Server.Pero al hacer un mail() con php me sale el siguiente error:

Warning: mail(): SMTP server response: 500 Not yet authenticated in C:\Archivos de programa\Apache Group\Apache2\htdocs\pfcbananas\clases\clase_contr olador.php on line 1308


No se a que se debe este problema,alguien sabe alguna solucion???
  #2 (permalink)  
Antiguo 03/01/2005, 07:16
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Tu servidor SMTP dispone de dos modos de trabajo .. uno "autentificado" y otro sin autentifiación requerida para enviar el e-mail .. parece que estás usando el modo "mi servidor requiere autentifiación para usar SMTP" .. si es así . .recuerda que PHP con su función mail() NO permite autentificación .. en su defecto usa otros métodos como por ejemplo la classe: PHP Mailer (http://phpmailer.sourceforge.net) que si que permite usar servidores SMTP con autentificación requerida .. o bien desactiva esa opción de tu servidor SMTP.

Por lo demás .. no sé si usas un servidor SMTP en cascada (que se puede hacer con QK SMTP Server ..) si es así ese a su vez puede requerir autentificación que deberías poner donde se pide (si es que lo usas).

Un saludo,
  #3 (permalink)  
Antiguo 03/01/2005, 09:58
 
Fecha de Ingreso: junio-2004
Ubicación: ORENSE
Mensajes: 257
Antigüedad: 13 años, 5 meses
Puntos: 0
Gracias por responder Cluster.Yo soy novato en esto y por eso no se como hacerlo.He bajado el programa QK SMTP Server de esta página http://www.qksoft.com y lo he instalado en mi ordenador.Una vez instalado al arrancarlo por primera vez como no tenia licencia lo arranque como una version trial de 15 dias.
Luego lo configure para que escuchara por el puerto 1024 y ya esta.No se si esta en cascada o no.Como se puede configurar para que funcione con mail() sin utilizar phpmailer??

Última edición por bananas; 03/01/2005 a las 10:03
  #4 (permalink)  
Antiguo 03/01/2005, 10:31
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
No sé por qué cambiastes el puerto de QK SMTP Server (de tu servidor SMTP) .. pero si lo haces en el "servidor" .. a PHP hay que decirle que lo cambiastes .. pues sino, por defecto intentará comunicarse con tu servidor STMP en el puerto estandar de SMTP que es el 25

No sé que versión de PHP usas .. pero en tu php.ini puedes crear en la sección donde veeras SMTP = localhost .. por ahí mismo una directiva más:

smtp_port = 1024

Donde "1024" es el puerto que pusistes en tu servidor SMTP .. Así por lo menos PHP ya sabrá donde está tu servidor SMTP (IP+puerto). Si no tienes algún otro conflicto con ese puerto o firewall y similar que bloquee la salida de dicho puerto .. debería funcionarte tu función mail() sin problemas.

Cada cambio de tu php.ini . para que tenga efecto has de reiniciar tu servidor (HTTP .. con ese sobra).

Más información en la documentación oficial de mail() ..(ahí dice todo lo que te he comentado):
http://www.php.net/mail

Un saludo,

Última edición por Cluster; 03/01/2005 a las 10:33
  #5 (permalink)  
Antiguo 05/01/2005, 07:16
 
Fecha de Ingreso: junio-2004
Ubicación: ORENSE
Mensajes: 257
Antigüedad: 13 años, 5 meses
Puntos: 0
He cambiado el puerto 25 porque me decía que ya estaba ocupado por otro dispositivo.Al cambiarle el puerto por el 1024 se conectaba sin problemas.
En el php.ini ya cambie y puse:

[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 1024


Pero al intentar enviar un mail, por ejemplo a mi mismo [email protected] en la consola del programa me aparece el siguiente error:


05/01/2005 13:30:36 SMTP Server started. Listening on port 1024.
05/01/2005 13:30:36 Local Host : formacion2
05/01/2005 13:30:36 Local IP : 192.168.200.246
05/01/2005 14:15:10 3656 Connect from 127.0.0.1
05/01/2005 14:15:10 3656 New mail received. From:< [email protected] > to:< [email protected] >
05/01/2005 14:15:10 3656 Close connection.
05/01/2005 14:15:11 Message from:< [email protected] > to:< [email protected] > Direct delivery fail! Socket Error # 10051 Network is unreachable. Wait for retry!
05/01/2005 14:16:02 Message from:< [email protected] > to:< [email protected] > Direct delivery fail! Socket Error # 10051 Network is unreachable. Wait for retry!
05/01/2005 14:16:53 Message from:< [email protected] > to:< [email protected] > Direct delivery fail! Socket Error # 10051 Network is unreachable. Wait for retry!
05/01/2005 14:17:45 Message from:< [email protected] > to:< [email protected] > Direct delivery fail! Socket Error # 10051 Network is unreachable. Wait for retry!
05/01/2005 14:18:36 Message from:< [email protected] > to:< [email protected] > Direct delivery fail! Socket Error # 10051 Network is unreachable.



A que se debe??
  #6 (permalink)  
Antiguo 05/01/2005, 12:24
 
Fecha de Ingreso: junio-2002
Ubicación: Monterrey
Mensajes: 37
Antigüedad: 15 años, 6 meses
Puntos: 0
Que significa si aparece el sig error:

Warning: mail(): SMTP server response: 552 sorry, your envelope sender domain must exist (#5.7.1) in
  #7 (permalink)  
Antiguo 05/01/2005, 12:50
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
bananas .. si dices que el puerto 25 ya lo tenías ocupado puede ser por dos cosas:

1) que ya tengas un servidor SMTP instalado (y no te habías dado cuenta) en ese PC.
2) que el puerto esté cerrado .. tal vez por algún antivirus con Firewall o similar ...

Usas un firewall? .. por qué esos mensajes de error referentes a Sockets se refieren a que no puede tu servidor SMTP enviar el e-mail .. revisa que esos puertos que usas estén abiertos (si usas una conexión ADSL o similar .. tendrá que ver con tu proveedor en que estado están y en su defecto abrirlos .. en tal caso .. abre el 25 que es que que debería ser).

Un saludo,
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:37.