• Publicidad

Ayuda formulario contacto flash envío por Perl

Todo lo relacionado con el desarrollo Web con Perl: desde CGI hasta Mojolicious

Ayuda formulario contacto flash envío por Perl

Notapor vict0rhug0 » 2010-07-05 12:48 @575

:wink:

¿Alguien me puede ayudar a revisar un formulario de contacto?

Formulario hecho en Flash as2 se envía por Perl con archivo .pl.
Sitio alojado en Yahoo hosting y no permite archivos .cgi.
Servidor Unix

Dicho archivo es el famoso FormMail Matt Wright.
Ya modifiqué lo que dicen las instrucciones pero no funciona. Solo dice que se envía pero no llega nada.

Se envía a un correo que pertenece al mismo servidor para que sea correo local y tampoco llega.
vict0rhug0
Perlero nuevo
Perlero nuevo
 
Mensajes: 8
Registrado: 2010-07-05 12:18 @554

Publicidad

Re: Ayuda formulario contacto flash envío por Perl

Notapor explorer » 2010-07-05 15:34 @690

Bienvenido a los foros de Perl en Español, vict0rhug0.

Hay algo que no comprendo... dices que el alojamiento no admite CGI, pero aún así estás intentando ejecutar el programa de Matt como un CGI (porque realmente es un CGI).

Yo consultaría los registros de actividad del servidor web, sobre todo el que guarda los errores, por si me dice algo.

Otra opción es colocar

use CGI::Carp qw(fatalsToBrowser);

Hacia el principio del programa, justo después del use CGI; (si el programa lo usa, claro). Así, si hay errores, saldrán en la página web.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Ayuda formulario contacto flash envío por Perl

Notapor vict0rhug0 » 2010-07-05 16:49 @742

muchisimas gracias por responder!!! :mrgreen:
soy diseñador web
La verdad soy principiante en perl y en programacion

Este el mensaje de error que aparece en mailerror.log
"Jun 29 23:31:18 From address not in member domain. Message not sent"

pues segun tenia entendido funciona cono perl por que tiene extension .pl
y si lo quiero convertir a CGI solo debo cambiarle la extension .cgi

(del formulario que descargue) Este es el script del boton enviar de flash as2:

on (release) {
if (nombre eq "") {
status = "Por Favor digite su nombre";
} else if (email eq "") {
status = "Por Favor digite su email";
} else if (comentarios eq "") {
status = "Sus comentarios son importantes";
} else {
status = "";
subject = "Formulario_internet";
recipient = "[email protected]";
loadVariables("http://www.server.com/cgi-bin/formmail.pl", "", "POST");
gotoAndStop("ok");
}
}
on (rollOver) {
status = "Enviar";
}
on (rollOut) {
status = "status";
}
vict0rhug0
Perlero nuevo
Perlero nuevo
 
Mensajes: 8
Registrado: 2010-07-05 12:18 @554

Re: Ayuda formulario contacto flash envío por Perl

Notapor vict0rhug0 » 2010-07-05 16:59 @749

Nuevamente, gracias, explorer.

Si crees que no va a servir por el hecho que funciona como archivo cgi,
para descartarlo y buscar otra opción.

Yahoo me da un script en Perl como plantilla para usarlo. El problema que no sé cómo adaptarlo a mi formulario y ni que cambios hay que hacer.

Este es el script del archivo Perl formail.pl del archivo de Matt's Script Archive, Inc.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl
  2. ##############################################################################
  3. # FormMail                        Version 1.6                                #
  4. # Copyright 1995-1997 Matt Wright [email protected]                    #
  5. # Created 06/09/95                Last Modified 05/02/97                     #
  6. # Matt's Script Archive, Inc.:    http://www.worldwidemart.com/scripts/      #
  7. ##############################################################################
  8. # COPYRIGHT NOTICE                                                           #
  9. # Copyright 1995-1997 Matthew M. Wright  All Rights Reserved.                #
  10. #                                                                            #
  11. # FormMail may be used and modified free of charge by anyone so long as this #
  12. # copyright notice and the comments above remain intact.  By using this      #
  13. # code you agree to indemnify Matthew M. Wright from any liability that      #
  14. # might arise from its use.                                                  #
  15. #                                                                            #
  16. # Selling the code for this program without prior written consent is         #
  17. # expressly forbidden.  In other words, please ask first before you try and  #
  18. # make money off of my program.                                              #
  19. #                                                                            #
  20. # Obtain permission before redistributing this software over the Internet or #
  21. # in any other medium.  In all cases copyright and header must remain intact #
  22. ##############################################################################
  23. # Define Variables                                                           #
  24. #        Detailed Information Found In README File.                          #
  25.  
  26. # $mailprog defines the location of your sendmail program on your unix       #
  27. # system.                                                                    #
  28.  
  29. $mailprog = '/usr/lib/sendmail';
  30.  
  31. # @referers allows forms to be located only on servers which are defined     #
  32. # in this field.  This security fix from the last version which allowed      #
  33. # anyone on any server to use your FormMail script on their web site.        #
  34.  
  35. @referers = ('zapotlanejo.net');
  36.  
  37. # Done                                                                       #
  38. ##############################################################################
  39.  
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
vict0rhug0
Perlero nuevo
Perlero nuevo
 
Mensajes: 8
Registrado: 2010-07-05 12:18 @554

Re: Ayuda formulario contacto flash envío por Perl

Notapor explorer » 2010-07-05 17:50 @785

Primero... si el programa te lo da Yahoo, se supone que debería de funcionar en sus sistemas.

Segundo... esa versión es antiquísima (del siglo pasado). Está llena de agujeros de seguridad, por lo que años más tarde, gente independiente creo el nms FormMail, que incidía sobre todo en el tema de la seguridad (es el que yo uso). Por fin, el año pasado, el propio Matt creo una nueva versión, la 1.93, donde prometía que había corregido esos fallos. Incluso tiene una página web comercial, donde por 1$ al mes puedes usar FormMail sin instalarlo.

Y tercero, en cuanto a la configuración, yo veo que es correcta. Las versiones más modernas traen muchas más opciones que esas dos, pero la importante es la de @referers. En mi programa, me vale con poner

@referers = ('localhost');

porque estoy indicando que admito cualquier correo que provenga del propio ordenador local. Pero en sistemas compartidos se suelen poner los nombres de las máquinas, con sus dominios, que alojan el correo. Por ejemplo:

@referers = ('correo.zapotlanejo.net');

Bueno... posibilidades hay varias, pero, en principio, la que muestras es correcta.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Ayuda formulario contacto flash envío por Perl

Notapor vict0rhug0 » 2010-07-06 11:03 @502

Lo que pasa es que ese formulario lo descargué de Internet.
Yahoo hosting me proporciona un script Perl .pl pero no sé cómo adaptarle y hacerlo que funcione desde Flash.

El script es:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl
  2. print "Content-type: text/html\n\n";
  3.  
  4. $title='mail test';
  5. $to='MAIL ADDRESS TO SEND TO';
  6. $subject='Using Sendmail';
  7. open(MAIL, "|/usr/sbin/sendmail -t");
  8. ## Mail Header
  9. print MAIL "To: $to\n";
  10. print MAIL "From: $from\n";
  11. print MAIL "Subject: $subject\n\n";
  12. ## Mail Body
  13. print MAIL "This is a test message from Yahoo! \n";
  14. close(MAIL);
  15. print "<html><head><title>$title<
  16. /title></head>\n<body>\n\n";
  17. ## START HTML content
  18. print "<h1>$title</h1>\n";
  19. print "<p>A message has been sent from $from to $to";
  20. ## END HTML CONTENT
  21. print "\n\n</body></html>";
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


O no sé cuál formulario me recomienda para que me pueda funcionar. La verdad ya he hecho demasiadas pruebas y no me funcione, no sea que éste la falla.
vict0rhug0
Perlero nuevo
Perlero nuevo
 
Mensajes: 8
Registrado: 2010-07-05 12:18 @554

Re: Ayuda formulario contacto flash envío por Perl

Notapor explorer » 2010-07-06 11:47 @532

Si esa es la plantilla que te da Yahoo, no entiendo porqué dices que no admite CGI, ya que se ve que ES un cgi...

Para llamarlos desde Flash, debes hacerlo igual que si lo llamaras desde el propio navegador. Es decir, debes saber

1.- La URL que debes usar para acceder a ese cgi. Eso lo deben indicar en tu alojamiento.

2.- Si quieres pasarle argumentos, con qué método (POST o GET) hay que hacerlo. Lo más seguro es que funcione de las dos maneras.

3.- Debes adaptar este programa para que pueda leer esos argumentos. Yo intentaría usar las facilidades del módulo CGI.pm de Perl, ya que ahorra mucho trabajo. Mira mi CGI mínimo.

4.- Las primeras pruebas las haría usando el URL, en un navegador web. Luego, bastaría con meter esa petición en una llamada desde el Flash, con AS (es decir, "llamar" a un programa CGI es lo mismo que si hiciéramos una petición HTTP normal y corriente).
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Ayuda formulario contacto flash envío por Perl

Notapor vict0rhug0 » 2010-07-06 18:14 @801

Esto es lo que responde Yahoo hosting: (Nota: todas las respuesta de Yahoo están prefabricadas y solo te envían la respuesta más cercana a tu caso)

"Tenga en cuenta que Yahoo! no admite o requiere un directorio cgi-bin para
ejecutar scripts Perl. Usted puede colocar en cualquier lugar de su sitio la estructura de directorios de los scripts de Perl. Asegúrese que cada secuencia de comandos incluye la extensión de archivo .pl o, si está llamando a un módulo de Perl. Si su script en Perl usa la extensión .cgi, por favor, cambie su nombre con la extensión .pl."

¿Dónde está mi directorio cgi-bin?
(misma respuesta que antes)

¿Qué extensiones de archivo puedo usar para mis scripts de Perl?
"Yahoo! sólo es compatible .pl y extensiones .pm para scripts de Perl. scripts de Perl independientes utilizan la extensión .pl, mientras que los módulos Perl usan .pm. No apoyamos la extensión .cgi o scripts .cgi. Si su script de Perl utiliza la extensión .cgi, por favor, cambie su nombre a la extensión .pl."


Ya probé el archivo minimo.cgi y lo abrí en la URL y no funciona
lo probé en http://www.misitio.com/minimo.cgi me aparece: "Sorry, Internal Server Error". y en error.log aparece lo mismo de antes.
vict0rhug0
Perlero nuevo
Perlero nuevo
 
Mensajes: 8
Registrado: 2010-07-05 12:18 @554

Re: Ayuda formulario contacto flash envío por Perl

Notapor explorer » 2010-07-07 02:03 @127

He reeditado tu mensaje, porque algunas frases de los de Yahoo! eran casi incomprensibles.

De ese texto podemos sacar las siguientes conclusiones: Sí que se soportan programas CGI, pero no han de tener la extensión .cgi, sino .pl.

Así que eso es lo que tienes que hacer: cambia la extensión de minimo.cgi a minimo.pl.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Ayuda formulario contacto flash envío por Perl

Notapor vict0rhug0 » 2010-07-07 10:52 @494

Sí, el texto de Yahoo! hosting tenía algunos errores ya que estaba en ingles y utilice un traductor en español.

Perdón, una corrección: el archivo que utilicé es minimo.pl
Lo probé en la URL:
http://www.misitio.com/minimo.pl

y como le comenté, no funciona.

La verdad, ya no sé qué hacer.

Y nuevamente, le agradezco su ayuda.
vict0rhug0
Perlero nuevo
Perlero nuevo
 
Mensajes: 8
Registrado: 2010-07-05 12:18 @554

Siguiente

Volver a Web

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados

cron