Foros del Web » Programando para Internet » PHP »

Imposible mandar mails con mail()

Estas en el tema de Imposible mandar mails con mail() en el foro de PHP en Foros del Web. Hola, Tengo instalado en un servidor casero windows 2000 con apache 2 php 5.1.2 y mysql. El caso es que por mas que intento enviar ...
  #1 (permalink)  
Antiguo 19/01/2006, 14:22
 
Fecha de Ingreso: enero-2006
Mensajes: 11
Antigüedad: 11 años, 10 meses
Puntos: 0
Imposible mandar mails con mail()

Hola,

Tengo instalado en un servidor casero windows 2000 con apache 2 php 5.1.2 y mysql. El caso es que por mas que intento enviar emails con la función mail() no puedo, no me da ningún error tampoco, simplemente no me los envía.

En el php.ini he hecho varías pruebas, he puesto diferentes servidores smtp siempre con cuentas válidas, e incluso localhost con el servicio SMTP del IIS configurado. El caso es que he hecho pruebas con el outlook del servidor y si que me funciona, tanto poniendo localhost como con otros servidores. También he probado a instalar el postcast server y en un principio también me funciona bien, pero no me acaba de funcionar con la función mail().

Lo más curioso de todo es que el mismo código fuente en un servidor de hosting si que me funciona, por lo que doy por hecho que tiene que ver algo con mi configuración, pero no logro dar con qué.

Alguien me puede ayudar? porque ya estoy un poco desesperado....
  #2 (permalink)  
Antiguo 19/01/2006, 14:31
 
Fecha de Ingreso: enero-2006
Mensajes: 11
Antigüedad: 11 años, 10 meses
Puntos: 0
Se me olvidaba comentar, que con phpinfo() el sendmailfrom me aparece como no value, no sé si puede ser eso. Os dejo también el código fuente del script por si fuese eso, aunque esta probado en otro proveedor y funciona bien.

<? if($enviado!=""){
$destinatario= "[email protected]";
mail($destinatario,$ctasunto,$ctmensaje + "\n mensaje enviado por: " + $ctmail);
print("Mensaje enviado correctamente!!");
}
else{
?>
<form action="contactar.php" method="post" name="formmail" id="formmail"> .... y se sigue creando el formulario
  #3 (permalink)  
Antiguo 20/01/2006, 00:01
Avatar de OYEME  
Fecha de Ingreso: marzo-2004
Ubicación: Lima
Mensajes: 307
Antigüedad: 13 años, 8 meses
Puntos: 1
tienes que configurar y activra la funcion mail
tu codigo esta bien
__________________
http://www.luisariashidalgo.com
  #4 (permalink)  
Antiguo 20/01/2006, 02:25
 
Fecha de Ingreso: enero-2006
Mensajes: 11
Antigüedad: 11 años, 10 meses
Puntos: 0
Y como se hace eso?

hola, gracias por la respuesta, pero como y donde se hace eso?
  #5 (permalink)  
Antiguo 20/01/2006, 03:00
Avatar de Bytevamp  
Fecha de Ingreso: junio-2005
Ubicación: /var/www/
Mensajes: 789
Antigüedad: 12 años, 6 meses
Puntos: 7
A ver, en primer lugar si tienes instalado un servidor smtp, lo unico que debes hacer es buscar en el php.ini la siguiente linea:
Cita:
[mail function]
y quitar los ; de las lineas siguientes quedando:
Cita:
SMTP = localhost
sendmail_from = [email protected]
Con esto deberia irte.

Saludos.
__________________
"zankius veri mach" a todos los que me habeis ayudado.
carteles para inmobiliarias || alquiler de coches
  #6 (permalink)  
Antiguo 20/01/2006, 03:29
 
Fecha de Ingreso: noviembre-2005
Mensajes: 139
Antigüedad: 12 años
Puntos: 0
tienes que instalar un servidor SMTP, te recomiendo que leas esto:
http://www.internautas.org/index.php?op=1&id=167
a mi me ha pasado hace unos dias y haciendo esto va de lujo
  #7 (permalink)  
Antiguo 20/01/2006, 04:05
 
Fecha de Ingreso: enero-2006
Mensajes: 11
Antigüedad: 11 años, 10 meses
Puntos: 0
Apuenco, gracias por la repsuesta pero como he comentado antes, he hecho pruebas con dos servidores smtp distintos, uno el servicio SMTP del IIS y otro con POSTCAST server, en los dos casos me funciona bien el outlook poniendo como servidor smtp "localhost". En cuanto a los ; delante de la función mail, los tenía quitados, evidentemente.

El caso está en que una vez que pincho en enviar, me vuelve a pintar el formulario en vez de entrar en el if($enviado!=""). Pero ese mismo código en el proveedor de hosting si que me funciona...

Por favor, alguna sugerencia mas? por lo que veo lo que me pasa es algo raro raro raro.....

Gracias por todo y saludos!
  #8 (permalink)  
Antiguo 20/01/2006, 07:47
Avatar de carlosfocus  
Fecha de Ingreso: enero-2006
Ubicación: Venezuela
Mensajes: 823
Antigüedad: 11 años, 11 meses
Puntos: 0
Yo lo que hice en mi server local fue lo siguiente

Abri el archivo php.ini busque donde estaba

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

y coloque a un proveedor de internet de aqui de venezuela lo cual quedo asi

[mail function]
; For Win32 only.
SMTP = mail.cantv.net

Y reinicie el apache y listo.

prueba de esa manera a ver si te funciona sin necesidad de instalas un SMTP en tu maquina.

saludos.
__________________
Carlos Herrera
Web Developer
www.carlos.com.ve
Para descargar archivos propios a su Teléfono Mobil? www.carlosfocus.com
  #9 (permalink)  
Antiguo 20/01/2006, 08:27
 
Fecha de Ingreso: enero-2006
Mensajes: 11
Antigüedad: 11 años, 10 meses
Puntos: 0
Nada, que no hay manera

Gracias por tu respuesta carlosfocus. He hecho lo que me has comentado, cosa que mas o menos ya había probado, había puesto los servidores smtp de gmail por el puerto 465 y de euskaltel por el 25, mandando los correos desde sus respectivas cuentas, pero nada no hay manera de que los envíe.

El caso es que ni siquiera me pinta lo de mail enviado correctamente!! entonces supongo que no me está entrando por esa parte, pero no entiendo por qué, ya que el código en otro servidor si me funciona.

He estado mirando y buscnaod profundamente por internet y no sé si hay que añadir el path de php a algún sitio o alguna extensión especial, alguien me puede echar una mano al respecto?

Perdón por ser tán peasdo, pero es que es tán raro....

Gracias a todos
  #10 (permalink)  
Antiguo 20/01/2006, 08:42
Avatar de carlosfocus  
Fecha de Ingreso: enero-2006
Ubicación: Venezuela
Mensajes: 823
Antigüedad: 11 años, 11 meses
Puntos: 0
Por que no pruebas colocando el mail.tuprovvedor?

prueba de esa manera

buscasi tu proveedor de internet tiene servicio de correo y busca su saliente y colocalo como te dije, eso funciona.
__________________
Carlos Herrera
Web Developer
www.carlos.com.ve
Para descargar archivos propios a su Teléfono Mobil? www.carlosfocus.com
  #11 (permalink)  
Antiguo 20/01/2006, 11:20
 
Fecha de Ingreso: enero-2006
Mensajes: 11
Antigüedad: 11 años, 10 meses
Puntos: 0
Cita:
Iniciado por carlosfocus
Por que no pruebas colocando el mail.tuprovvedor?

prueba de esa manera

buscasi tu proveedor de internet tiene servicio de correo y busca su saliente y colocalo como te dije, eso funciona.
Si si, eso ya lo he probado gracias, de mi proveedor y de otros como gmail o el que me has comentado antes, pero sigue sin funcionar.

Voy a revisar más detenidamente la configuración del apache y del php.ini y si no encuentro nada, seguramente instale un módulo WAMP que he leido que son todos los paquetes en uno y a ver si así funciona... Dicho esto... ¿me recomendáis algún WAMP en especial?
  #12 (permalink)  
Antiguo 20/01/2006, 15:38
 
Fecha de Ingreso: enero-2006
Mensajes: 11
Antigüedad: 11 años, 10 meses
Puntos: 0
Bueno, pues he instalado el WAMP después de desinstalar todo lo demás y tampoco me ha funcionado así que he vuelto a probar a instalar cada cosa a mano, pero nada no me entra en el if, cuando ese mismo código en otro servidor si me funciona.

Por favor si alguien me puede echar una mano.....
  #13 (permalink)  
Antiguo 21/01/2006, 04:24
 
Fecha de Ingreso: enero-2006
Mensajes: 11
Antigüedad: 11 años, 10 meses
Puntos: 0
Hola chicos, estoy casi casi seguro que no me esta entrando por el if(enviado) porque ni siquiera me pinta nada, no solo no me ejecuta la función mail si no que ni siquiera me pinta eso, por lo que puede ser lo del if, alguna forma de solucionar esto o hacerlo de otra manera?
  #14 (permalink)  
Antiguo 21/01/2006, 11:38
Avatar de nosoynadie  
Fecha de Ingreso: noviembre-2005
Ubicación: dando vueltas por aquí
Mensajes: 206
Antigüedad: 12 años
Puntos: 1
Hola Bruenor,

puede ser una tonteria pero en uno de tus mensajes dices:

Cita:
<? if($enviado!=""){
$destinatario= "[email protected]";
mail($destinatario,$ctasunto,$ctmensaje + "\n mensaje enviado por: " + $ctmail);
print("Mensaje enviado correctamente!!");
}
deduzco de en el formulario el botón de submit se llama 'enviado'. Vale, suponiendo esto, por qué no haces estos dos pequeños cambios:

1. en lugar de usar la variable $enviado usa $_POST["enviado"]
2. A la hora de comprobar si has pichado en el botón, si le has puesto un 'value' al botón
Código HTML:
<input type='submit' name='enviado' value='enviamos' /> 
utiliza esta línea:
Código PHP:
if(!empty($_POST["enviado"])){

o si por el contrario no le has puesto valor al 'value' del botón
Código HTML:
<input type='submit' name='enviado' value='' /> 
utiliza esta línea:
Código PHP:
if(isset($_POST["enviado"])){

Espero que esto pueda ayudarte Ciao
__________________
http://www.nosoynadie.net/
  #15 (permalink)  
Antiguo 23/01/2006, 17:33
 
Fecha de Ingreso: enero-2006
Mensajes: 11
Antigüedad: 11 años, 10 meses
Puntos: 0
gracias nosoynadie, mañana mismo lo pruebo. a ver si hay suerte!!

Un saludo
  #16 (permalink)  
Antiguo 24/01/2006, 15:14
 
Fecha de Ingreso: enero-2006
Mensajes: 11
Antigüedad: 11 años, 10 meses
Puntos: 0
HOla!!

bueno, ahora por lo menos con los cambios de nosoynadie me da un error el php, con lo que ya entra en el if, muchas gracias, este es el error, ahora le echaré un vistazo al php.ini a ver si lo puedo arreglar. gracias!!!


Warning: mail() [function.mail]: Failed to connect to mailserver at "smtp.euskalnet.net" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\webs\reinos\contactar.php on line 25
  #17 (permalink)  
Antiguo 24/01/2006, 15:34
 
Fecha de Ingreso: enero-2006
Mensajes: 11
Antigüedad: 11 años, 10 meses
Puntos: 0
Gracias a todos chicos, ya me funciona perfectamente, no sé por qué no me cogía las variables directamente, igual es que sobre windows no las acepta o así... muchas gracias a todos!!!

saludos
  #18 (permalink)  
Antiguo 24/01/2006, 15:35
Avatar de carlosfocus  
Fecha de Ingreso: enero-2006
Ubicación: Venezuela
Mensajes: 823
Antigüedad: 11 años, 11 meses
Puntos: 0
ahora tieenes que verificar en el php.ini tu proveedor SMTP ahora ese es el problema
__________________
Carlos Herrera
Web Developer
www.carlos.com.ve
Para descargar archivos propios a su Teléfono Mobil? www.carlosfocus.com
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 03:51.