Foros del Web » Programando para Internet » PHP »

Problema con función mail

Estas en el tema de Problema con función mail en el foro de PHP en Foros del Web. Holas!! Tengo un problema y es que no me manda mails, creo que tengo mal configurado el php.ini, yo tengo estos valores: [mail function] ; ...
  #1 (permalink)  
Antiguo 25/06/2004, 20:17
Avatar de Animanganime  
Fecha de Ingreso: noviembre-2003
Ubicación: Tenerife
Mensajes: 90
Antigüedad: 14 años, 1 mes
Puntos: 0
Problema con función mail

Holas!!

Tengo un problema y es que no me manda mails, creo que tengo mal configurado el php.ini, yo tengo estos valores:

[mail function]
; For Win32 only.
SMTP = "smtp.correo.yahoo.es" ;

; For Win32 only.
sendmail_from = "[email protected]" ; for Win32 only

Que hay mal?

Saludos!
  #2 (permalink)  
Antiguo 25/06/2004, 20:22
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 13 años, 6 meses
Puntos: 2
Es probable que yahoo requiera autenticacion para el envio de correo y por eso te esté fallando. Para mandar correo con autenticación te recomiendo que uses la clase phpmailer

http://www.programacion.com/php/articulo/phpmailer/
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #3 (permalink)  
Antiguo 25/06/2004, 20:44
Avatar de Animanganime  
Fecha de Ingreso: noviembre-2003
Ubicación: Tenerife
Mensajes: 90
Antigüedad: 14 años, 1 mes
Puntos: 0
Más simple

No hay una manera más simple? es decir utilizar otro smtp o lo que sea, para sencillamente utilizar esa cuenta como receptora de los mails.

Saludos!!
  #4 (permalink)  
Antiguo 28/06/2004, 09:31
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Tienes un pequeño lio de conceptos ..

Una "cuenta receptora" se basa en un servidor POP/IMAP como pueda ser "Yahoo" (que además use acceso vía web-mail o bien por tu cliente de correo habitual tipo Outlook)

El "envio" de los e-mails se hace por médio de servidores SMTP.

Ambos servidores "POP/IMAP y SMTP" (recepción y envio respectivamente) se puede hacer por -separado-. Es decir .. puedes indicar en tus "FROM" o "responder a ..." en tus e-mails la cuenta de correo "receptora" de tu servidor POP/IMAP (tu yahoo por ejemplo) y enviar los e-mails por otro servidor SMTP que no sea especificamente el mismo proveedor (ISP) que te proporcina la cuenta de correo POP/IMAP aunque esto suele ir de la mano y más hoy en dia por el abuso del spam.

Por eso mismo .. si bien hace años los servidores SMTP eran "libres" cualquiera podia usarlos sin más. Ahora -requieren- autentificación para usarlo y normalmente esa autentificación es la misma que usas para "recoger" tu correo vía tu servidor POP/IMAP y la conexión que hagas con el.

PHP NO permite autentificación SMTP por sí solo .. por eso te recomendaron la classe "PHP Mailer" .. por qué es un sustituto a mail() de PHP mejorado donde entre otras cosas permite hacer una conexión directa a tu servicio de SMTP y autentificarte.

Pero, ese servicio de SMTP/POP/IMAP lo debe dar tu proveedor (la mayoría de "web-mails" tipo: Yahoo, hotmail y afines NO prestan ese servicio ..pero sí por ejemplo: www.hotpop.com y tu proveedor habitual de acceso a internet que seguramente te ofrece algúna cuenta de correo o de tu dominio (si lo compraste con hosting ..)

La alternativa simple es instalar un servidor SMTP en tu PC para el S.O. que uses (Si es windows podrías ver el: QK SMTP server o cualquier otro .. en las FAQ's se comenta uno creo). Así será tu "PC" con tu conexión a internet el que -envie- el e-mail (que como ya comenté anteriormente NO tiene nada que ver con que cuenta indiques a la hora de componer tu e-mail para que te respondan.). Así podrás usar la función mail() de PHP sin problemas por qué ya usaras tu própio servidor SMTP en tu PC instalado y -sin requerimientos de autentificación-.

Un saludo,
  #5 (permalink)  
Antiguo 28/06/2004, 10:01
 
Fecha de Ingreso: febrero-2004
Mensajes: 221
Antigüedad: 13 años, 9 meses
Puntos: 0
En realidad Cluster, el encargado de enviar y recibir es el servidor SMTP que es el Mail Transport Agent. Osea yo puedo enviar y recibir sin tener un servidor POP3 o IMAP, estos 2 son frontends para bajar/ver los mails alojados en el servidor.
  #6 (permalink)  
Antiguo 28/06/2004, 18:07
Avatar de Animanganime  
Fecha de Ingreso: noviembre-2003
Ubicación: Tenerife
Mensajes: 90
Antigüedad: 14 años, 1 mes
Puntos: 0
Sigue fallando

He instalado el servidor y lo puse a funcionar pero sigue fallando:

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

; For Win32 only.
sendmail_from = [email protected] for Win32 only

Así está ahora configurado mi php.ini y el servidor funcionando.

El código del mail es el siguiente:

$sfrom="[email protected]"; //Remitente
$sdestinatario="[email protected]"; //Destinatario
$ssubject="Prueba de Correo."; //Asunto
$shtml="El servidor de correo SMTP funciona correctamente."; //Mensaje
$sheader="From:".$sfrom."\nReply-To:".$sfrom."\n";
$sheader=$sheader."X-Mailer:PHP/".phpversion()."\n";
$sheader=$sheader."Mime-Version: 1.0\n";
$sheader=$sheader."Content-Type: text/html";
mail($sdestinatario,$ssubject,$shtml,$sheader);

Pero me da un error del servidor, justo cuando llega a la función mail.

Saludos!!
  #7 (permalink)  
Antiguo 28/06/2004, 19:12
 
Fecha de Ingreso: febrero-2004
Mensajes: 221
Antigüedad: 13 años, 9 meses
Puntos: 0
Instalá tu propio SMTPd!
  #8 (permalink)  
Antiguo 29/06/2004, 01:48
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 13 años, 6 meses
Puntos: 2
Como veo que estás en windows te recomiendo un programa que es gratuito y muy fácil de configurar para que lo utilices como servidor de correo. Así no tendrás que preocuparte por el servidor smtp

http://www.argosoft.com/applications/mailserver/
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #9 (permalink)  
Antiguo 29/06/2004, 08:52
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por Appletalk
En realidad Cluster, el encargado de enviar y recibir es el servidor SMTP que es el Mail Transport Agent. Osea yo puedo enviar y recibir sin tener un servidor POP3 o IMAP, estos 2 son frontends para bajar/ver los mails alojados en el servidor.
OK, gracias por la aclaración.

Un saludo,
  #10 (permalink)  
Antiguo 01/07/2004, 09:54
Avatar de Animanganime  
Fecha de Ingreso: noviembre-2003
Ubicación: Tenerife
Mensajes: 90
Antigüedad: 14 años, 1 mes
Puntos: 0
Va mejorando

Holas!!

Bueno he adquirido el QK SMTTP Server y el tema ha mejorado, ahora no me da ningún tipo de error el ejecutar el código, pero si que lo da al enviar el correo, no lo envía:

01/07/2004 15:55:26 1988 New mail received. From:< [email protected] for Win32 only > to:< [email protected] >
01/07/2004 15:55:26 Message from:< [email protected] for Win32 only > to:< [email protected] > Direct delivery fail! Resolve host error! Wait for retry!
01/07/2004 15:55:26 1988 Close connection.
01/07/2004 15:55:26 Message from:< [email protected] for Win32 only > to:< [email protected] > Direct delivery fail! Resolve host error! Wait for retry!
01/07/2004 15:55:26 Message from:< [email protected] for Win32 only > to:< [email protected] > Direct delivery fail! Resolve host error! Wait for retry!
01/07/2004 15:55:26 Message from:< [email protected] for Win32 only > to:< [email protected] > Direct delivery fail! Resolve host error! Wait for retry!
01/07/2004 15:55:26 Message from:< [email protected] for Win32 only > to:< [email protected] > Direct delivery fail! Resolve host error!

Eso me dice y no entiendo el porqué, también probé a utilizar el correo remitente como [email protected] pero igualmente falla.

Saludos!!
  #11 (permalink)  
Antiguo 01/07/2004, 10:02
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
¿Usas algún proxy/firewall/router o (Antivirus con firewall) que pueda estar bloqueando el puerto 25 (o el que uses) para enviar tus e-mailis con tu servidor SMTP própio?

¿Existe la cuenta de correo "[email protected]" ?

Un saludo,

PD: Esto ya no son problemas de PHP .. deberías consultar en el foro "Servidores web" o similar.
  #12 (permalink)  
Antiguo 01/07/2004, 11:18
Avatar de Animanganime  
Fecha de Ingreso: noviembre-2003
Ubicación: Tenerife
Mensajes: 90
Antigüedad: 14 años, 1 mes
Puntos: 0
No es eso

No tengo nada de ese estilo, tengo un antivirus normalito, el Antivir y no tengo ni proxys ni nada. La cuenta de correo si existe y nose si influiría mi proveedor que es telefónica, no creo.

No se si afecta en algo la configuración del php.ini, quizá aquí esté el error y no deba poner como cuenta la de [email protected] dado que yahoo necesita autentificación, puede ser eso?

Saludos!!
  #13 (permalink)  
Antiguo 02/07/2004, 07:31
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pero .. a ver.

El que envia el correo es el MTA: tu servidor SMTP que has instalado.

El problema lo está dando tu MTA (tu serivodor SMTP) .. así que tendrás que ver la configuración de este. PHP ya cumplió su parte: entregó el correo por su función mail() al MTA que se le configuró: tu servidor SMTP .. ese QK SMTP Server.

Prueba a configurar un cliente de correo software tipo Outlook como servidor SMTP tu IP local ("localhost" .. o 127.0.0.1) y envia correos por ahí (revisando los log de tu servidor SMTP a ver como salen los e-mails) .. Cuando eso te funcione .. PHP te funcionará (pero es para que veas que el problema no es de PHP ni de tus scripts (código) sino entre tu conexión a internet (por ejemplo por los problemas que mencioné ..) y donde o a donde envias.

Un saludo,
  #14 (permalink)  
Antiguo 03/07/2004, 06:51
Avatar de Animanganime  
Fecha de Ingreso: noviembre-2003
Ubicación: Tenerife
Mensajes: 90
Antigüedad: 14 años, 1 mes
Puntos: 0
Pues nada

Con la configuración que trae el QK SMTP Server me dice siempre esto:

Direct delivery fail! Resolve host error! Wait for retry!

Ya ni se que hacer he cambiado de todo.

Saludos!!
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 22:00.