Regresar   Foros del Web > Programación para sitios web > Perl y CGI

El registro es Gratis en Foros del Web
Respuesta
 
Herramientas Buscar en Tema Desplegado
Antiguo 12/04/08, 04:09:43   #1 (permalink)
NaRanJiTo78 ha deshabilitado el Karma
 
Registrado: nov 2007
Ubicación: In the BeaCh
Mensajes: 131
NaRanJiTo78 is offline  
Exclamación Error en FormMail!!Ayuda!

Hola!

Tengo un formulario en dreamweaver y he descargado formMail.pl, en el que he editado la línea donde hay que poner la IP:

@referers = ('scriptarchive.com','numero.de.mi.ip')

así como la linea donde hay que poner el domino:

@recipients = &fill_recipients(info@midominio.com)

Con ello he guardado el archivo y lo he puesto en mi carpeta del servidor cgi-bin.

Posteriormente he modificado el código del formulario en dreamweaver poniendo:

<form action='http://www.midominio.com/cgi-bin/formmail.pl' method='post'>

El caso esque creo que he seguido todas las instrucciones para poder usar correctamente FormMail, pero cuando lo pruebo y le doy al botón Enviar, me sale la siguiente frase:

CGI Error
The specified CGI application misbehaved by not returning a complete set of HTTP headers.

Que es lo que he hecho mal?Alguien me puede ayudar?

Muchas gracias.
  Responder Con Cita
Antiguo 12/04/08, 15:09:24   #2 (permalink)
NaRanJiTo78 ha deshabilitado el Karma
 
Registrado: nov 2007
Ubicación: In the BeaCh
Mensajes: 131
NaRanJiTo78 is offline  
Re: Error en FormMail!!Ayuda!

Bien,haciendo algunos cambios en FormMail.pl , como:

@referers = ('midominio.com','numero.de.mi.ip') y

@recipients = &fill_recipients('midominio.com','info@midominio.c om')

he conseguido que me funcione, redireccionando a una página de agradecimiento ya creada por mi, sin darme errores.

EL CASO ESQUE NO ME LLEGA EL CORREO...que puede estar pasando?

(En el código de Dreamweaver tengo:
<form id="Formulario" name="Formulario" method="post" action="http://www.midominio.com/cgi-bin/formmail.pl">
y
<input type=hidden name="recipient" value="info@midominio.com" />

Donde tengo el error para que no me genere un correo y me lo envíe??

Muchas gracias,un saludo

Última edición por NaRanJiTo78 fecha: 12/04/08 a las 15:15:23.
  Responder Con Cita
Antiguo 12/04/08, 15:34:18   #3 (permalink)
Colaborador
jferrero tiene un saldo positivo de karma
 
Registrado: may 2006
Ubicación: Madrid
Mensajes: 303
jferrero is offline  
Re: Error en FormMail!!Ayuda!

Si no sale el correo es que quizás el sistema donde se está ejecutando el FormMail no tiene puesto el sendmail.

Te recomiendo que uses el NMS FormMail, que, con la ayuda de Net::SMTP se puede conectar directamente al servidor de correo destino.
  Responder Con Cita
Antiguo 12/04/08, 15:46:42   #4 (permalink)
NaRanJiTo78 ha deshabilitado el Karma
 
Registrado: nov 2007
Ubicación: In the BeaCh
Mensajes: 131
NaRanJiTo78 is offline  
Re: Error en FormMail!!Ayuda!

Cita:
Originalmente publicado por jferrero Ver Mensaje
Si no sale el correo es que quizás el sistema donde se está ejecutando el FormMail no tiene puesto el sendmail.
Y como se pone eso??

Gracias

P.D. El NMS FormMail no lo puedo poner, ya que uno de sus requerimientos es :"A web host with a Unix or Unix-type server" y el servidor donde tengo aloada la página es Windows...
  Responder Con Cita
Antiguo 13/04/08, 05:44:15   #5 (permalink)
NaRanJiTo78 ha deshabilitado el Karma
 
Registrado: nov 2007
Ubicación: In the BeaCh
Mensajes: 131
NaRanJiTo78 is offline  
Re: Error en FormMail!!Ayuda!

Una cosa, el hosting web que tengo para esa web es bajo windows, puede ser por eso que no funcione???
  Responder Con Cita
Antiguo 13/04/08, 11:24:15   #6 (permalink)
Colaborador
jferrero tiene un saldo positivo de karma
 
Registrado: may 2006
Ubicación: Madrid
Mensajes: 303
jferrero is offline  
Re: Error en FormMail!!Ayuda!

Sí, es posible. No es normal que en los servidores Windows tengan instalado el sendmail...

Mira el código de FormMail para verificar que se necesita sendmail (busca por esa palabra).

El NMS FormMail te permitirá enviar el correo, a cambio de tener el módulo Net::SMTP instalado, que lo normal es que sí esté.
  Responder Con Cita
Antiguo 22/04/08, 12:41:26   #7 (permalink)
NaRanJiTo78 ha deshabilitado el Karma
 
Registrado: nov 2007
Ubicación: In the BeaCh
Mensajes: 131
NaRanJiTo78 is offline  
Exclamación Re: Error en FormMail!!Ayuda!

Hola!

Tengo instalado NMS FormMail.pl en la carpeta cgi-bin(de servidor WINDOWS!) lo siguiente:

#!/usr/bin/perl -wT
#
# NMS FormMail Version 3.14c1
#

use strict;
use vars qw(
$DEBUGGING $emulate_matts_code $secure %more_config
$allow_empty_ref $max_recipients $mailprog @referers
@allow_mail_to @recipients %recipient_alias
@valid_ENV $date_fmt $style $send_confirmation_mail
$confirmation_text $locale $charset $no_content
$double_spacing $wrap_text $wrap_style $postmaster
$address_style
);

# PROGRAM INFORMATION
# -------------------
# FormMail.pl Version 3.14c1
#
# This program is licensed in the same way as Perl
# itself. You are free to choose between the GNU Public
# License <http://www.gnu.org/licenses/gpl.html> or
# the Artistic License
# <http://www.perl.com/pub/a/language/misc/Artistic.html>
#
# For help on configuration or installation see the
# README file or the POD documentation at the end of
# this file.

# USER CONFIGURATION SECTION
# --------------------------
# Modify these to your own settings. You might have to
# contact your system administrator if you do not run
# your own web server. If the purpose of these
# parameters seems unclear, please see the README file.
#
BEGIN
{
$DEBUGGING = 1;
$emulate_matts_code= 0;
$secure = 1;
$allow_empty_ref = 1;
$max_recipients = 1;
$mailprog = 'SMTP:midominio.com';
$postmaster = 'info@midominio.com';
@referers = qw(midominio.com localhost);
@allow_mail_to = qw(info@midominio.com);
@recipients = ('midominio.com','info@solursa.com');
%recipient_alias = ('info@midominio.com');
@valid_ENV = qw(REMOTE_HOST REMOTE_ADDR REMOTE_USER HTTP_USER_AGENT);
$locale = 'ES';
$charset = 'iso-8859-1';
$date_fmt = '%A, %B %d, %Y at %H:%M:%S';
$style = '/css/nms.css';
$no_content = 0;
$double_spacing = 1;
$wrap_text = 0;
$wrap_style = 1;
$address_style = 0;
$send_confirmation_mail = 0;
$confirmation_text = <<'END_OF_CONFIRMATION';
From: info@midominio.com
Subject: Formulario

Thank you for your form submission.

END_OF_CONFIRMATION

pero me sale otra vez el error:

CGI Error
The specified CGI application misbehaved by not returning a complete set of HTTP headers...
que es lo que tengo mal configurado??
  Responder Con Cita
Antiguo 23/04/08, 05:53:08   #8 (permalink)
Colaborador
jferrero tiene un saldo positivo de karma
 
Registrado: may 2006
Ubicación: Madrid
Mensajes: 303
jferrero is offline  
Re: Error en FormMail!!Ayuda!

Yo juraría que el NMS FormMail es mucho más largo.

Por favor, comprueba que lo tienes completo: http://nms-cgi.sourceforge.net/formm...pat-3.14c1.zip

NO LO PUBLIQUES AQUÍ, porque no es necesario.
  Responder Con Cita
Antiguo 23/04/08, 08:30:02   #9 (permalink)
NaRanJiTo78 ha deshabilitado el Karma
 
Registrado: nov 2007
Ubicación: In the BeaCh
Mensajes: 131
NaRanJiTo78 is offline  
Re: Error en FormMail!!Ayuda!

Cita:
Originalmente publicado por jferrero Ver Mensaje
Yo juraría que el NMS FormMail es mucho más largo.

Por favor, comprueba que lo tienes completo: http://nms-cgi.sourceforge.net/formm...pat-3.14c1.zip

NO LO PUBLIQUES AQUÍ, porque no es necesario.
Claro que es mucho más largo...

Lo que he publicado es por si alguien me puede decir si he puesto algo mal, una coma o algo así...(en cuanto a mi host o correo, que lo tengo expresado como @midominio.com dentro de la config principal, que es esa noP?)

Muchas gracias
  Responder Con Cita
Antiguo 23/04/08, 09:49:31   #10 (permalink)
Colaborador
jferrero tiene un saldo positivo de karma
 
Registrado: may 2006
Ubicación: Madrid
Mensajes: 303
jferrero is offline  
Re: Error en FormMail!!Ayuda!

Para comprobar si el código está bien, ejecuta

perl -c programa.pl

Si no sale nada, es que no hay errores, al menos, sintácticos.
  Responder Con Cita
Antiguo 23/04/08, 10:05:09   #11 (permalink)
NaRanJiTo78 ha deshabilitado el Karma
 
Registrado: nov 2007
Ubicación: In the BeaCh
Mensajes: 131
NaRanJiTo78 is offline  
Re: Error en FormMail!!Ayuda!

Donde lo ejecuto?
  Responder Con Cita
Antiguo 23/04/08, 10:37:33   #12 (permalink)
Colaborador
jferrero tiene un saldo positivo de karma
 
Registrado: may 2006
Ubicación: Madrid
Mensajes: 303
jferrero is offline  
Re: Error en FormMail!!Ayuda!

Vas a la carpeta cgi-bin, donde está el FormMail.pl, con una ventana de línea de comandos, y ejecutas: perl -c FormMail.pl (o como realmente se llame).
  Responder Con Cita
Antiguo 23/04/08, 11:12:04   #13 (permalink)
NaRanJiTo78 ha deshabilitado el Karma
 
Registrado: nov 2007
Ubicación: In the BeaCh
Mensajes: 131
NaRanJiTo78 is offline  
Re: Error en FormMail!!Ayuda!

jferrero, podrias ser más concreto, por favor?

Es decir, abro la carpeta cgi-bin del servidor, pero...de donde saco la linea de comandos?

Muchas gracias
  Responder Con Cita
Antiguo 24/04/08, 01:31:03   #14 (permalink)
NaRanJiTo78 ha deshabilitado el Karma
 
Registrado: nov 2007
Ubicación: In the BeaCh
Mensajes: 131
NaRanJiTo78 is offline  
Re: Error en FormMail!!Ayuda!

Quizá la linea de comandos de ms-dos?Pero cual sería la ruta del server?
  Responder Con Cita
Antiguo 24/04/08, 06:38:47   #15 (permalink)
$moderador{'Esteban'}
monoswim tiene un muy buen nivel de karmamonoswim tiene un muy buen nivel de karma
 
Registrado: nov 2002
Ubicación: Buenos Aires - Argentina
Mensajes: 7.136
Contactar con monoswim a través de MSN
monoswim is offline  
Re: Error en FormMail!!Ayuda!

estás en un hosting ? no creo que tengas acceso a la línea de comandos...si tienes instalado perl en tu PC (www.activeperl.com) copiá el formmail.pl a digamos c:\FormMail.pl y hacé lo que te dice jferrero

perl -c FormMail.pl (estando en c: lógicamente...)

Saludos
__________________
MonoSwim

Antes era fanfarrón y canchero, ahora soy perfecto !!!!!!!
  Responder Con Cita
Antiguo 24/04/08, 08:44:12   #16 (permalink)
NaRanJiTo78 ha deshabilitado el Karma
 
Registrado: nov 2007
Ubicación: In the BeaCh
Mensajes: 131
NaRanJiTo78 is offline  
Re: Error en FormMail!!Ayuda!

Ok, ya he instalado Perl.

Tras ejecutar "C:>perl -c FormMail.pl" me pone:

"-T" is on the #!, it must also be used on the command line at FormMail.p line 1

Que significa??
  Responder Con Cita
Antiguo 24/04/08, 08:47:01   #17 (permalink)
NaRanJiTo78 ha deshabilitado el Karma
 
Registrado: nov 2007
Ubicación: In the BeaCh
Mensajes: 131
NaRanJiTo78 is offline  
Re: Error en FormMail!!Ayuda!

Será porque la primera línea de todas del archivo FormMail.pl es:

#!/usr/bin/perl -wT ?

En tal caso que hay que hacer?

Muchas gracias
  Responder Con Cita
Antiguo 25/04/08, 01:07:20   #18 (permalink)
Colaborador
jferrero tiene un saldo positivo de karma
 
Registrado: may 2006
Ubicación: Madrid
Mensajes: 303
jferrero is offline  
Re: Error en FormMail!!Ayuda!

Te dice que lo ejecutes en la línea de comandos de la misma manera que en la primera línea del fichero, por lo que tendrá que ser: perl -cT FormMail.pl
  Responder Con Cita
Antiguo 25/04/08, 21:31:28   #19 (permalink)
NaRanJiTo78 ha deshabilitado el Karma
 
Registrado: nov 2007
Ubicación: In the BeaCh
Mensajes: 131
NaRanJiTo78 is offline  
Re: Error en FormMail!!Ayuda!

Tras ejecutar me pone:

"Odd number of elements in hash assignment at FormMail.pl line 50.
Use of uninitialiZed value in join or string at (eval5) line 344.
FormMail.pl syntax OK"

Que significa?que debo hacer ahora?
  Responder Con Cita
Antiguo 25/04/08, 21:59:28   #20 (permalink)
NaRanJiTo78 ha deshabilitado el Karma
 
Registrado: nov 2007
Ubicación: In the BeaCh
Mensajes: 131
NaRanJiTo78 is offline  
Re: Error en FormMail!!Ayuda!

P.D: hay algun comando para abrir el archivo FormMail.pl y que te lo abra diciendote cada número de línea?
  Responder Con Cita
Antiguo 26/04/08, 05:45:44   #21 (permalink)
Colaborador
jferrero tiene un saldo positivo de karma
 
Registrado: may 2006
Ubicación: Madrid
Mensajes: 303
jferrero is offline  
Re: Error en FormMail!!Ayuda!

El mensaje de error dice que la definición de un hash tiene un número impar de elementos.

Revisando el código que has publicado, la línea con ese defecto es esta:

%recipient_alias = ('info@midominio.com');

Claramente, falta un elemento. O sobra el que has puesto. Yo lo quitaría, si no vas a usar alias de esa dirección.

Para editar, en Windows tienes el Notepad++, o mucho mejor, el UltraEdit. Tienes más aquí:
http://www.perlmonks.org/index.pl?node_id=531175

y en el perlfaq3, en la pregunta "Is there an IDE or Windows Perl Editor?"
  Responder Con Cita
Antiguo 26/04/08, 06:24:01   #22 (permalink)
NaRanJiTo78 ha deshabilitado el Karma
 
Registrado: nov 2007
Ubicación: In the BeaCh
Mensajes: 131
NaRanJiTo78 is offline  
Re: Error en FormMail!!Ayuda!

Bien, lo he dejado ahora así:
%recipient_alias = ();

y ejecutando otra vez "perl -cT FormMail.pl" me pone: "FormMail.pl syntax OK

Pero al introducir el formulario y darle a enviar me sale de nuevo:

CGI Error
The specified CGI application misbehaved by not returning a complete set of HTTP headers.

Si en teoria el archivo .pl está bien, porque me dice eso el servidor?Donde puede estar el error??

Muchas Gracias
  Responder Con Cita
Antiguo 26/04/08, 06:53:44   #23 (permalink)
Colaborador
jferrero tiene un saldo positivo de karma
 
Registrado: may 2006
Ubicación: Madrid
Mensajes: 303
jferrero is offline  
Re: Error en FormMail!!Ayuda!

Abre el fichero FormMail.pl, busca la línea
use CGI;

y añádale después esta otra:
use CGI::Carp qw/ fatalsToBrowser /;

Si ocurre un error, lo verás en el navegador. Aún así, localiza la posición de los ficheros de log del servidor web y mira la última actividad, porque seguramente en el error.log habrá quedado grabado el error.
  Responder Con Cita
Antiguo 27/04/08, 06:50:08   #24 (permalink)
NaRanJiTo78 ha deshabilitado el Karma
 
Registrado: nov 2007
Ubicación: In the BeaCh
Mensajes: 131
NaRanJiTo78 is offline  
Re: Error en FormMail!!Ayuda!

jferrero, hay muchas líneas "use CGI", en cual la pongo?

use CGI;
use CGI::NMS::Charset;
use CGI::NMS::Script;
use CGI::NMS::Validator;
use CGI::NMS::Mailer::ByScheme;
use CGI::NMS::Script::FormMail;

lo he puesto en el primero para probar,pero me sigue dando el mismo error...
  Responder Con Cita
Antiguo 27/04/08, 07:32:27   #25 (permalink)
NaRanJiTo78 ha deshabilitado el Karma
 
Registrado: nov 2007
Ubicación: In the BeaCh
Mensajes: 131
NaRanJiTo78 is offline  
Re: Error en FormMail!!Ayuda!

lo he añadido y ha quedado así esa parte:

use CGI;
use CGI::Carp qw/ fatalsToBrowser /;
use POSIX qw(locale_h strftime);
use CGI::NMS::Charset;

era así?el caso esque sigue dando el mismo error...será que es un problema del servidor?
  Responder Con Cita
Antiguo 27/04/08, 09:54:42   #26 (permalink)
Colaborador
jferrero tiene un saldo positivo de karma
 
Registrado: may 2006
Ubicación: Madrid
Mensajes: 303
jferrero is offline  
Re: Error en FormMail!!Ayuda!

¿Y qué es lo que dicen los log de actividad del servidor web?
  Responder Con Cita
Antiguo 27/04/08, 13:30:22   #27 (permalink)
NaRanJiTo78 ha deshabilitado el Karma
 
Registrado: nov 2007
Ubicación: In the BeaCh
Mensajes: 131
NaRanJiTo78 is offline  
Re: Error en FormMail!!Ayuda!

Cita:
Originalmente publicado por jferrero Ver Mensaje
¿Y qué es lo que dicen los log de actividad del servidor web?
he revisado el sitio, pero no hay ningun archivo que contenga esa informacion...como lo puedo mirar?
  Responder Con Cita
Antiguo 27/04/08, 16:28:31   #28 (permalink)
Colaborador
jferrero tiene un saldo positivo de karma
 
Registrado: may 2006
Ubicación: Madrid
Mensajes: 303
jferrero is offline  
Re: Error en FormMail!!Ayuda!

¿En qué sistema operativo está el servidor? En Google comentan algo de que es un error típico del IIS.
  Responder Con Cita