Foros del Web » Programando para Internet » PHP »

php.ini y Funcion mail()

Estas en el tema de php.ini y Funcion mail() en el foro de PHP en Foros del Web. Que tal amigos, estoy colocando en mi proyecto un modulo de contacto, este utiliza la funcion mail() de php, pero cuando la probe, me salio ...
  #1 (permalink)  
Antiguo 17/06/2008, 09:11
 
Fecha de Ingreso: marzo-2008
Ubicación: Guayana, Venezuela
Mensajes: 23
Antigüedad: 16 años, 1 mes
Puntos: 0
php.ini y Funcion mail()

Que tal amigos, estoy colocando en mi proyecto un modulo de contacto, este utiliza la funcion mail() de php, pero cuando la probe, me salio esto

Código:
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:\www\html\contacto\contacto\process.php on line 67
Quiero revisar el php.ini que se esta ejecutando, pero no se cual es, porque tengo uno en la carpeta php y otro en C:/WINDOWS no se cual debo modificar para lograr que funcione, como se cual de ellos es?

Existe otra forma de hacerlo?

Revise el firewall de windows y habilite el puerto SMTP porque crei que con eso se solucionaria, pero aun sigue apareciendo el error.


el codigo que envia el mail se llama process.php aqui esta su codigo:

Código PHP:
<?php

$recipiente 
"[email protected]";

$asunto "prueba de contacto";

$error 0;

//los campos mandados por el formulario
$nombre $_POST['nombre'];
$telf $_POST['telf'];
$email $_POST['email'];
$direccion $_POST['direccion'];
$cp $_POST['cp'];
$localidad $_POST['localidad'];
$comentario $_POST['comentario'];

//verificación si los campos requeridos estan llenos
if($nombre == "" || $email == "" || $comentario == ""){
   
$error=1;
}
//verificación si el email es correcto
elseif(!eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*" ."@"."([a-z0-9]+([\.-][a-z0-9]+)*)+"."\\.[a-z]{2,}"."$",$email)){
   
$error=2;
}

//mensajes de error
if($error==1){
   echo 
"El siguiente error ha ocurrido!<BR>";
   echo 
"No ha rellenado todos los campos obligatorios.<BR> 
Por favor vuelva <A HREF=\"javascript:history.back()\">atras</A>.<BR>"
;
}

elseif(
$error==2){
   echo 
"El siguiente error ha ocurrido!<BR>";
   echo 
"El correo electronico es invalido!<BR> 
Por favor vuelva <A HREF=\"javascript:history.back()\">atras</A>.<BR>"
;
}

//envio del email con los datos
else{
   
$message ="nombre: ".$nombre."<br>";
   
$message .="telf: ".$telf."<br>";
   
$message .="email: ".$email."<br>";
   
$message .="direccion: ".$direccion."<br>";
   
$message .="cp: ".$cp."<br>";
   
$message .="localidad: ".$localidad."<br>";
   
$message .="comentario: ".$comentario."<br>";
   
   
$message stripslashes($message);
   
   
$headers "MIME-Version: 1.0\r\n";
   
$headers .= "Content-type:text/html; charset=iso-8859-1\r\n";
   
$headers .= "From: $email\r\n";
   
$headers .= "Repaly-to: $email\r\n";
   
$headers .= "Cc: $email\r\n";
   
   
mail($recipiente,$asunto,$message,$headers);
   
   
   echo 
"El mensaje ha sido enviado!<BR>";
   echo 
"Gracias por su mensage.<BR>
Le mandaremos una respuesta lo mas antes posible.<BR>"
;

}
?>
Quiero revisar el php.ini que se esta ejecutando, pero no se cual es, porque tengo uno en la carpeta php y otro en C:/WINDOWS no se cual debo modificar para lograr que funcione, como se cual de ellos es?

Existe otra forma de hacerlo?

Revise el firewall de windows y habilite el puerto SMTP porque crei que con eso se solucionaria, pero aun sigue apareciendo el error.
  #2 (permalink)  
Antiguo 17/06/2008, 09:34
Avatar de the_scorpion  
Fecha de Ingreso: mayo-2006
Ubicación: Cuba
Mensajes: 696
Antigüedad: 18 años
Puntos: 3
Respuesta: php.ini y Funcion mail()

hola
crea un phpinfo
<?php
echo phpInfo();
?>
busca Loaded Configuration File y sabras el camino del php.ini
__________________
Que hablen mal de uno es espantoso. Pero hay algo peor: que no hablen.
Quien hace, puede equivocarse. Quien nada hace, ya está equivocado".
  #3 (permalink)  
Antiguo 17/06/2008, 09:35
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: php.ini y Funcion mail()

Hola Monchiss,

Si creas un archivo:
Código PHP:
<?php
phpinfo
();
?>
Te indicara el php.ini que estas ejecutando.

Adicionalmente aparte de habilitar el puerto 25, necesitas algún servidor SMTP para enviar el correo electrónico.

Saludos.
  #4 (permalink)  
Antiguo 17/06/2008, 09:39
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 17 años, 7 meses
Puntos: 3
Respuesta: php.ini y Funcion mail()

prueba con esto

mail($recipiente, $asunto, utf8_decode($message), $header);
  #5 (permalink)  
Antiguo 17/06/2008, 12:42
 
Fecha de Ingreso: marzo-2008
Ubicación: Guayana, Venezuela
Mensajes: 23
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: php.ini y Funcion mail()

Ok muchas gracias, ya modifique el php.ini pero sigue apareciendo el mismo mensaje, tambien intente como me indico hulray y me dice lo mismo.

Estuve revisando y tengo en ArGoSoft Mail Server por alli, lo instale, no le di mucha configuracion solo al probarlo inmediatamente despues de instalarlo me aparecio esto:

Código:
Warning: mail() [function.mail]: SMTP server response: 551 User not local. 
We don't relay in C:\www\html\contacto\contacto\process.php on line 67
El programa me muestra esto:

Código:
17/06/2008 02:21:37 p.m. - SMTP Server started. Listening on port 25
17/06/2008 02:21:37 p.m. - POP3 Server started. Listening on port 110
17/06/2008 02:21:37 p.m. - Finger Server started. Listening on port 79
17/06/2008 02:21:37 p.m. - Error starting Web server: [10048] Address already in use
Message size limit 5 MB
Winsock version: $0101
High version: $0202
Description: WinSock 2.0
System status: Running
Maximum sockets: 32767
Local host: podaceweb
Local addresses: 150.187.181.80
Local host after reverse lookup: podaceweb
17/06/2008 02:22:49 p.m. - Requested SMTP connection from 127.0.0.1
17/06/2008 02:22:51 p.m. - SMTP connection with 127.0.0.1 ended. ID=1
17/06/2008 02:23:24 p.m. - Requested SMTP connection from 127.0.0.1
17/06/2008 02:23:25 p.m. - SMTP connection with 127.0.0.1 ended. ID=2
17/06/2008 02:27:55 p.m. - Requested SMTP connection from 127.0.0.1
17/06/2008 02:27:57 p.m. - SMTP connection with 127.0.0.1 ended. ID=3
Si alguien sabe como configurar esto le agradeceria, lo unico que necesito es que envien comentarios desde mi pagina a una cuenta de correo.

Última edición por Monchiss; 17/06/2008 a las 13:03
  #6 (permalink)  
Antiguo 17/06/2008, 16:43
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: php.ini y Funcion mail()

Te recomiendo usar miniRelay es un servidor SMTP más sencillo.

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




La zona horaria es GMT -6. Ahora son las 14:57.