Foros del Web » Programando para Internet » PHP »

Net_smtp

Estas en el tema de Net_smtp en el foro de PHP en Foros del Web. Buenas! Mi objetivo es conseguir enviar un email con PHP. He leído muchas páginas y en todas ellas envidiaba comentarios del estilo 'a mí me ...
  #1 (permalink)  
Antiguo 15/04/2011, 06:30
 
Fecha de Ingreso: abril-2011
Mensajes: 1
Antigüedad: 13 años
Puntos: 0
Net_smtp

Buenas! Mi objetivo es conseguir enviar un email con PHP. He leído muchas páginas y en todas ellas envidiaba comentarios del estilo 'a mí me funciona genial, ahora quiero que...' jeje.

El primer intento ha sido usar la función mail de PHP, pero no me ha funcionado.
El caso es que inicialmente tenía el error:
Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set()
No me aclaraba muy bien. Alguien sugería instalar un servidor SMTP accediendo al panel de windows, configuración, etc. Pero resulta que en windows vista ya no se puede hacer. Así que en otro lugar encontré que recomendaban instalar "Free SMTP Server". Hecho.

Al probarlo de nuevo, otra vez usando localhost y puerto 25, ya no ha dado el error anterior, simplemente se queda bloqueado y al cabo de unos minutos la página vuelve en sí, aunque sin haber enviado el email. He repasado cabeceras, cuerpo, subject, quitado '<' y '>', puesto otra vez, etc. y seguía pasando lo mismo.

Después he leído que la función mail de PHP no está tan bien, que es mejor usar algo más avanzado y que da menos problemas, como PEAR, concretamente el paquete de 'emails'. Tras instalar 'algo', el primer problema ha sido que "Mail.php" no existe (a pesar de que casi todos los ejemplos que había encontrado por la web usaban esta clase). Pero encuentro que puedo usar Net_SMTP. Así que he instalado el paquete correspondiente mediante la línea de comandos:
pear install Net_SMPT
Al tratar de usar PEAR me he encontrado que había muchos problemas con el uso de 'var' por estar marcado como 'deprecated', pero finalmente usando
error_reporting( E_ALL | E_STRICT & !E_DEPRECATED );
antes de incluir cualquier fichero PEAR lo ha resuelto por el momento.

Finalmente he intentado enviar el email y me sigue dando el mismo problema: la página web se queda esperando hasta que hay algún error de tiempo máximo de espera, o no se ha podido enviar el email o nada, al cabo de unos minutos vuelve. Pero el email no se envía.

Se me ocurren algunas preguntas de por dónde podría estar el error, como que la cuenta de email que uso para enviar datos es una cuenta de gmail y por eso no funciona (o bien hay que cambiar el localhost a smtp.gmail.com y el puerto a 465), o bien hay que añadir una contraseña porque hace falta autenticarse, ...

En fin, si a alguien se le ocurre alguna idea de qué puede estar pasando le agradecería su ayuda!!!


PHP version: 5.1.1
Servidor Apache 2.0.55
SO: windows vista

Etiquetas: Ninguno
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 09:16.