Foros del Web » Programando para Internet » PHP »

Warning: mail() [function.mail] "localhost"

Estas en el tema de Warning: mail() [function.mail] "localhost" en el foro de PHP en Foros del Web. Bueno tengo Xampp instalado, estoy haciendo un formulario en PHP, no tengo mucha idea, quiero probarlo en mi localhost, cuando le doy a enviar, me ...
  #1 (permalink)  
Antiguo 16/11/2006, 04:12
 
Fecha de Ingreso: junio-2003
Mensajes: 66
Antigüedad: 20 años, 10 meses
Puntos: 0
Warning: mail() [function.mail] "localhost"

Bueno tengo Xampp instalado, estoy haciendo un formulario en PHP, no tengo mucha idea, quiero probarlo en mi localhost, cuando le doy a enviar, me sale el siguiente error:

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\Archivos de programa\xampp\htdocs\formulariophp\sendmail.php on line 20

el código de sendmail.php es el siguiente:

Código PHP:
<?php
/*Variables*/
$nif $_POST['nif'];
$nombre $_POST['nombre'];
$primerapellido $_POST['primerapellido'];
$segundoapellido $_POST['segundoapellido'];
$direccion $_POST['direccion'];
$localidad $_POST['localidad'];
$codigopostal $_POST['codigopostal'];
$telefono $_POST['telefono'];
$movil $_POST['movil'];
$email $_POST['email'];
$estudios $_POST['estudios'];
//Save visitor name and entered message into one variable:
$formcontent "NIF: $nif\nNOMBRE: $nombre\nPRIMER APELLIDO: $primerapellido\nSEGUNDO APELLIDO: $segundoapellido\nDIRECCIÓN: $direccion\nLOCALIDAD: $localidad\nCÓDIGO POSTAL: $codigopostal\nTELÉFONO: $telefono\nMÓVIL: $movil\nE-MAIL: $email\nESTUDIOS: $estudios";
$recipient "[email protected]";
$subject "INSCRIPCIÓN";
$mailheader "From: $nombre\r\n";
$mailheader .= "Reply-To: $email\r\n";
if (
mail($recipient$subject$formcontent$mailheader)){ 
header ("Location: enviado.htm"); 
exit; 
} else { 
header ("Location: error.htm"); 
exit; 
}

?>
Que debo hacer??

Gracias por adelantado

Última edición por Tofuh; 22/11/2006 a las 05:54
  #2 (permalink)  
Antiguo 22/11/2006, 05:56
 
Fecha de Ingreso: junio-2003
Mensajes: 66
Antigüedad: 20 años, 10 meses
Puntos: 0
Bueno he conseguido el Post Cast Server y el Mercury Mail Transport, tengo instalado el Xampp, alguna sugerencia?? hay alguno que vaya mejor que otro?? espero que esto se solucione así.

Gracias
  #3 (permalink)  
Antiguo 30/11/2006, 05:16
 
Fecha de Ingreso: junio-2003
Mensajes: 66
Antigüedad: 20 años, 10 meses
Puntos: 0
Bueno creo instalaré el Post Cast server

Gracias
  #4 (permalink)  
Antiguo 13/12/2006, 06:24
 
Fecha de Ingreso: junio-2003
Mensajes: 66
Antigüedad: 20 años, 10 meses
Puntos: 0
Re: Warning: mail() [function.mail] "localhost"

el post cast server no me soluciona el problema
alguien sabe porque??
  #5 (permalink)  
Antiguo 13/12/2006, 09:35
Avatar de the_scorpion  
Fecha de Ingreso: mayo-2006
Ubicación: Cuba
Mensajes: 696
Antigüedad: 17 años, 11 meses
Puntos: 3
Re: Warning: mail() [function.mail] "localhost"

Hola
Buenos dias
pero hay lo que te dice es que tienes fallo en la conexión de tu servidor smtp.

en php.ini en c:\winnt\php.ini o c:\windows\php.ini
SMTP = localhost // se llama así tu smtp
sendmail_from = [email protected] //un email para envio de formulario

usan mucho QK_SMTP_Serve para prueba, bajatelo
__________________
Que hablen mal de uno es espantoso. Pero hay algo peor: que no hablen.
Quien hace, puede equivocarse. Quien nada hace, ya está equivocado".
  #6 (permalink)  
Antiguo 13/12/2006, 09:47
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Warning: mail() [function.mail] "localhost"

Ya verificaste lo que te pide, tienes bien puesto el puerto y el server en el php.ini?
  #7 (permalink)  
Antiguo 13/12/2006, 13:17
 
Fecha de Ingreso: junio-2003
Mensajes: 66
Antigüedad: 20 años, 10 meses
Puntos: 0
Re: Warning: mail() [function.mail] "localhost"

en sendmail_from, que pongo?? el email a donde va dirigido el formulario??
no está ya en código php??
el puerto tengo puesto 25

tengo instalado el xampp, hay un php.ini en xampp/php/ cambio ese??

Voy a ir probando
  #8 (permalink)  
Antiguo 13/12/2006, 13:35
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 17 años, 7 meses
Puntos: 3
Re: Warning: mail() [function.mail] "localhost"

Tuve casi el mismo problema anteriormente, y se soluciono con poner el php.ini en la carpeta de windows o winnt segun corresponda.

ojala te ayude :D
  #9 (permalink)  
Antiguo 13/12/2006, 13:48
Avatar de the_scorpion  
Fecha de Ingreso: mayo-2006
Ubicación: Cuba
Mensajes: 696
Antigüedad: 17 años, 11 meses
Puntos: 3
Re: Warning: mail() [function.mail] "localhost"

Cita:
Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\Archivos de programa\xampp\htdocs\formulariophp\sendmail.php on line 20
eso fue un error de advertencia que te dio cuando publicaste post

que php.ini, pues en c:\winnt\php.ini o c:\windows\php.ini
puedes tener email verdadero en tu formulario que php no esta entregando email a algun smtp porque no tienes en tu php.ini un smtp verdadero
__________________
Que hablen mal de uno es espantoso. Pero hay algo peor: que no hablen.
Quien hace, puede equivocarse. Quien nada hace, ya está equivocado".
  #10 (permalink)  
Antiguo 14/12/2006, 12:49
 
Fecha de Ingreso: junio-2003
Mensajes: 66
Antigüedad: 20 años, 10 meses
Puntos: 0
Re: Warning: mail() [function.mail] "localhost"

A ver si me aclaro.

Tengo el Xampp instalado (supuestamente instala el php)
He cambiado el php.ini y tengo lo siguiente:

[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25
; For Win32 only.
sendmail_from = [email protected]

El php.ini está en windows/, en C:/ y en xampp/php/

Tambien tengo el minirelay, no se si hay que configurarlo.

Hago la prueba con el minirelay y el xampp ejecutándose.

y me sigue saliendo el mismo error.

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<!-- Inicio del formulario de la página WWW... -->
<?
if (!$HTTP_POST_VARS){
?>

<form action="contactar.php" method=post name="contactar.php" id="contactar.php"> <font face="Verdana, Arial, Helvetica, sans-serif"><br>      
<font size="3" face="Comic Sans MS">Nombre:</font></font> <font size="3" face="Comic Sans MS">
<input type=text name="nombre" size=25 />
<br>      
Email:</font> <font size="3" face="Comic Sans MS">
<input type=text name="email" size=25 />
<br>      
Mensaje:</font> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"> 
<textarea name="coment" cols="25" rows="6"></textarea> <br>      
<br>      
</font><br> <br>      
<input name="submit" type=submit value="Enviar"> </form>      

<?
}else{
//Estoy recibiendo el formulario, compongo el cuerpo
$cuerpo "Formulario prueba enviado desde la pagina web www.localhost.com\n";
$cuerpo .= "Nombre: " $HTTP_POST_VARS["nombre"] . "\n";
$cuerpo .= "Email: " $HTTP_POST_VARS["email"] . "\n";
$cuerpo .= "Mensaje: " $HTTP_POST_VARS["coment"] . "\n";
//mando el correo...
mail("[email protected]","Formulario recibido",$cuerpo);
//doy las gracias por el envío
echo "Gracias por rellenar el formulario. Se ha enviado correctamente.";


?> 
</body>
</html>
el email lo tengo cambiado, a donde quiero que llegue el formulario.

No se si se me queda algo más.
  #11 (permalink)  
Antiguo 14/12/2006, 13:32
 
Fecha de Ingreso: diciembre-2004
Mensajes: 163
Antigüedad: 19 años, 4 meses
Puntos: 2
Re: Warning: mail() [function.mail] "localhost"

[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25
; For Win32 only.
sendmail_from = [email protected]


¿tienes un dominio prueba.com???

supongo que verificaste que tu servidor smtp esta funcionando y enviando mails o no?
  #12 (permalink)  
Antiguo 14/12/2006, 15:44
Avatar de the_scorpion  
Fecha de Ingreso: mayo-2006
Ubicación: Cuba
Mensajes: 696
Antigüedad: 17 años, 11 meses
Puntos: 3
Re: Warning: mail() [function.mail] "localhost"

Cita:
Iniciado por Tofuh Ver Mensaje
A ver si me aclaro.

Tengo el Xampp instalado (supuestamente instala el php)
He cambiado el php.ini y tengo lo siguiente:

[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25
; For Win32 only.
sendmail_from = [email protected]

El php.ini está en windows/, en C:/ y en xampp/php/

Tambien tengo el minirelay, no se si hay que configurarlo.

Hago la prueba con el minirelay y el xampp ejecutándose.

y me sigue saliendo el mismo error.

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<!-- Inicio del formulario de la página WWW... -->
<?
if (!$HTTP_POST_VARS){
?>

<form action="contactar.php" method=post name="contactar.php" id="contactar.php"> <font face="Verdana, Arial, Helvetica, sans-serif"><br>      
<font size="3" face="Comic Sans MS">Nombre:</font></font> <font size="3" face="Comic Sans MS">
<input type=text name="nombre" size=25 />
<br>      
Email:</font> <font size="3" face="Comic Sans MS">
<input type=text name="email" size=25 />
<br>      
Mensaje:</font> <font size="2" face="Verdana, Arial, Helvetica, sans-serif"> 
<textarea name="coment" cols="25" rows="6"></textarea> <br>      
<br>      
</font><br> <br>      
<input name="submit" type=submit value="Enviar"> </form>      

<?
}else{
//Estoy recibiendo el formulario, compongo el cuerpo
$cuerpo "Formulario prueba enviado desde la pagina web www.localhost.com\n";
$cuerpo .= "Nombre: " $HTTP_POST_VARS["nombre"] . "\n";
$cuerpo .= "Email: " $HTTP_POST_VARS["email"] . "\n";
$cuerpo .= "Mensaje: " $HTTP_POST_VARS["coment"] . "\n";
//mando el correo...
mail("[email protected]","Formulario recibido",$cuerpo);
//doy las gracias por el envío
echo "Gracias por rellenar el formulario. Se ha enviado correctamente.";


?> 
</body>
</html>
el email lo tengo cambiado, a donde quiero que llegue el formulario.

No se si se me queda algo más.
Hola
Buenas tardes

Mano no es de complicaciones en tu carpeta windows tiene que estar el php.ini, configura las variables que todos en este topic te hemos hablado
[mail function]
; For Win32 only.
SMTP = nombre.smtp.dominio.com
smtp_port = 25
; For Win32 only.
sendmail_from = [email protected]

si estas usando QK SMTP Sever puedes descargarlo aquí

Instala, configura server smtp colcoa en tu php.ini nombre del server, configura usuario en QK y coloca usuario en php.ini para que todo te quede hay mismo
__________________
Que hablen mal de uno es espantoso. Pero hay algo peor: que no hablen.
Quien hace, puede equivocarse. Quien nada hace, ya está equivocado".

Última edición por Cluster; 16/12/2006 a las 19:46 Razón: NO está permitido la Piratería en estos foros. Omitan referencias a Cracks y demás.
  #13 (permalink)  
Antiguo 16/12/2006, 17:02
 
Fecha de Ingreso: junio-2003
Mensajes: 66
Antigüedad: 20 años, 10 meses
Puntos: 0
Re: Warning: mail() [function.mail] "localhost"

Creo que voy entendiendo, en el php.ini, en smtp??, que debo poner si quiero probar el formulario en localhost?

no tengo ni dominio ni nada, pero ya instalé el QK SMTP Server, tengo que crear un dominio??

gracias
  #14 (permalink)  
Antiguo 16/12/2006, 19:54
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Re: Warning: mail() [function.mail] "localhost"

Cita:
Iniciado por Tofuh Ver Mensaje
Creo que voy entendiendo, en el php.ini, en smtp??, que debo poner si quiero probar el formulario en localhost?

no tengo ni dominio ni nada, pero ya instalé el QK SMTP Server, tengo que crear un dominio??

gracias
Lo primero que debes hacer es hacer funcionar el servidor SMTP que uses.

Lo puedes probar configurando tu cliente de correo tipo Outlook por ejemplo apuntanto tu SMTP (o "servidor de correo saliente") a la IP local de TU PC: localhost .. ó 127.0.0.1

En cuanto a PHP .. en su configuración se le dice "donde" (en que IP o domino) está tu servidor de correo SMTP funcionando (y que además NO REQUIERA autentificación .. por qué PHP no permite autentificación con su función mail() ..)

Yo no sé que php.ini estás mofidicando .. ni si reinicias tu servidor a cada cambio que haces .. pero debes hacerlo y verificar haciendo un:

Código PHP:
<?php
phpinfo
();
?>
Que la configuración está siendo tomada .. De hecho .. PHP por defecto sale como "SMTP = localhost" .. así que NO deberías de tocar nada (salvo que el dichoso "Xammp" lo cambie" .. por cierto olvidate ya de que instalastes PHP y demás con ese instalador .. lo que importa es cada software de servidor que quedó instalado: versiones, su configuración, donde está .. etc).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #15 (permalink)  
Antiguo 17/12/2006, 04:10
 
Fecha de Ingreso: junio-2003
Mensajes: 66
Antigüedad: 20 años, 10 meses
Puntos: 0
Re: Warning: mail() [function.mail] "localhost"

no consigo hacer funcionar el ok smtp, bueno eso creo, como creo el dominio?? pone:

SMTP Server Started
Binding IP: 127.0.0.1
Listening Port 25

en la configuración del programa me pide Users, dominio, DNS???
  #16 (permalink)  
Antiguo 19/12/2006, 03:11
 
Fecha de Ingreso: junio-2003
Mensajes: 66
Antigüedad: 20 años, 10 meses
Puntos: 0
Re: Warning: mail() [function.mail] "localhost"

Bueno creo que voy a instalar todo manualmente, porque esto ya me supera.
En una página encontré que no hace falta modificar nada del QK SMTP, así que seguire los pasos:

"Un buen servidor sería el QK SMTP Server lo encontramos en http://www.qksoft.com/, descargar en Download now y empezar la instalación. No hay que modificar nada en este programa, sólo hay que tenerlo abierto y el Apache arrancado y ya podemos enviar correos mediante PHP"

Y yo volviendome loco, bueno espero que sigan por aquí aconsejandome.

Gracias
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 13:52.