Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: mecosecho en 11 Agosto 2009, 18:43 pm



Título: Porque falla?
Publicado por: mecosecho en 11 Agosto 2009, 18:43 pm
hola amigos del foro, estoy enviado un formulario con php pero me muestra un problema:

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 \\ip.ip.ip.ip\s002\midominio.com\gracias.php on line 42

 y este es mi codigo php:

  <?php
$msg = "";

$field_name = array_keys($HTTP_POST_VARS);
$value_name = array_values($HTTP_POST_VARS);

for ($i=0;$i<count($field_name);$i++)
   {
   $msg .= "".$field_name[$i].": ".$value_name[$i]."\n";
   }

$recipient = "yo@midominio.com";
$subject = "chistes de pepito";
$mailheaders = "From: ".$nombre."\n";
$mailheaders .= "Reply-To: ".$mail."\n\n";   
                                 

mail($recipient, $subject, $msg, $mailheaders); //<- esta es la linea 42
?>
alguien sabe porque es este problema?  :huh: gracias de antemano.


Título: Re: Porque falla?
Publicado por: SnakeDrak en 11 Agosto 2009, 19:22 pm
Hola,

Necesitas un servidor de correos, te recomiendo Postfix.

Cita de: php
For the Mail functions to be available, PHP must have access to the sendmail binary on your system during compile time. If you use another mail program, such as qmail  or postfix, be sure to use the appropriate sendmail wrappers that come with them. PHP will first look for sendmail in your PATH, and then in the following: /usr/bin:/usr/sbin:/usr/etc:/etc:/usr/ucblib:/usr/lib. It's highly recommended to have sendmail available from your PATH. Also, the user that compiled PHP must have permission to access the sendmail binary.

Ese error es porque no tiene acceso al SMTP de tu servidor de correos (el protocolo para enviar mensajes)

Ojalá te sea de ayuda, si tienes un servidor de correo, mira bien el puerto y tal en php.ini.

http://es.php.net/manual/en/book.mail.php
Saludos!


Título: Re: Porque falla?
Publicado por: mecosecho en 11 Agosto 2009, 19:42 pm
Gracias Snakedrak por la ayuda, reemplaze una pagina en este servidor y se suponia que si enviaba los mails, pero ya cheque el formulario antiguo que utilizaba para enviar los mailsy no hay nada diferente del mio, entonces el problema sigue siendo el SMTP?


Título: Re: Porque falla?
Publicado por: [u]nsigned en 11 Agosto 2009, 20:31 pm
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 \\ip.ip.ip.ip\s002\midominio.com\gracias.php on line 42

Como te dijo SnakeDrak tenes que tener un servidor SMTP en tu pc (localhost) para poder enviar mails. En caso de que no lo tengas leete ESTO (http://www.forosdelweb.com/662241-post115.html).

Tambien te recomendaría probar el script en un servidor web, si no tenes uno podes usar alguno gratuito como www.000webhost.com.

Saludos


Título: Re: Porque falla?
Publicado por: дٳŦ٭ en 12 Agosto 2009, 01:13 am
Usa php5...


Título: Re: Porque falla?
Publicado por: mecosecho en 12 Agosto 2009, 16:56 pm
Usa php5...

hola дٳŦ٭, gracias por responder, yo tambien pense en esa opcion, podrias poner un ejemplo o un link en donde pueda consultar, gracias por la respuesta,


Título: Re: Porque falla?
Publicado por: дٳŦ٭ en 13 Agosto 2009, 19:04 pm
Hola,

$HTTP_POST_VARS=php4
$_POST=php5

Saludos