PDA

Ver la Versión Completa : Problema con la funcion mail


JulioGO
08-09-2005, 03:30:13
Hola forofos:

Estoy desarrollando una pagina en la cual voy registrando usuarios de los servicios que dispone la menciona pagina. Todo camina muy bien, la cuestion es cuando empiezo a desarrollar un modulo de envio de correo electronico, pues al parecer me esta faltando algo. Lo unico que he podido configurar es la siguiente sentencias en el archivo php.ini:

[function mail]
smtp_server=localhost
smtp_port=25

Configurado esto realizo la siguiente prueba:


<?php
//...
mail($to, $subject, $message, $headers);
?>


al ejecutar este script me sale el siguiente error:

Warning: mail() [function.mail (http://localhost/practiphp/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:\PractiPHP\mail.php on line 44

Lo poco que puedo entender es que me esta advirtiendo que hay una falla a la hora de conectar al servidor de correo, y me recomienda ver las sentencias smtp_server y smtp_port en el archivo php.ini.

Aqui es donde acudo a uds. pues quisiera que alguien me auxilie pues estoy con la soga al cuello si no presente el dicho modulo:( .

Las caracterisitcas de la maquina son:
Pentium IV, windows 2000 sp4, IIS, PHP 5

Si hay algo que me falta, por favor haganmelo saber.

Saludos.

roman
08-09-2005, 04:13:04
Bueno pero, ¿tienes un servidor de correo instalado en tu PC? Es imprescindible para poder enviar un mail. Podrías intentar conectarte a otro servidor (en lugar de localhost pones la dirección del servidor) pero normalmente los servidores no permiten envio de correos desde otras direcciones.

Si es una aplicación que posteriormente usarás en una máquina que sí tiene servidor de correo y lo que quieres es hacer pruebas en tu PC, podrías instalar uno. Si busca por ahí seguro encontrarás uno gratuito o incluso hacerte uno tú mismo con las Indy. Yo la verdad terminé comprando este (http://www.emailarms.com/products/1st_smtp.html) que me ha servido perfecto para las pruebas. No tenía tiempo ni ganas de ponerme a hacer uno y los que encontré gratuitos en su momento no me funcionaron bien.

Ahora que si sí tienes ya un servidor instalado y te sale ese error entonces por favor haz caso omiso de lo anterior. :o

// Saludos

salvica
26-09-2005, 12:24:15
Ahora que si sí tienes ya un servidor instalado y te sale ese error entonces por favor haz caso omiso de lo anterior. :o

// Saludos Al revés, lo que le está diciendo es que debe modificar el "php.ini" e indicarle los parámetros del gestor del correo

En tu fichero "php.ini" debes modificar:

.....

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

; For Win32 only.
;sendmail_from = me@localhost.com
sendmail_from = tu_cuenta@de_correo

; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
;sendmail_path = la_ruta_al_gestor_de_correo

.....


Luego, al escribir las cabeceras de mail() debes asignar tu nombre de usuario y password de conexión

Además recuerda que, si utilizas un servidor gratuito, el "Reply to" debe ser igual que el "sendmail_from"

Yo, particularmente, para enviar correos, utilizo el "class.phpmailer.php" (lo puedes buscar en internet), te permite muchas opciones extras.

Saludos
Salvica