Foros del Web » Programación para mayores de 30 ;) » Programación General »

Enviar correo CGI

Estas en el tema de Enviar correo CGI en el foro de Programación General en Foros del Web. Hola forer@s, no sé si este foro es el adecuado para mi duda pero os cuento: Tengo una plantilla en flash y parte de ella ...
  #1 (permalink)  
Antiguo 17/11/2006, 05:58
Avatar de Korku  
Fecha de Ingreso: noviembre-2003
Ubicación: En un lugar oscuro...
Mensajes: 688
Antigüedad: 20 años, 5 meses
Puntos: 5
[SOLUCIONADO] Enviar correo CGI

Hola forer@s, no sé si este foro es el adecuado para mi duda pero os cuento:

Tengo una plantilla en flash y parte de ella tiene un formulario de contacto y se puede enviar a través de php o asp (mediante paso de variables) pero resulta el alojamiento web del cliente no tiene soporte php ni asp pero sí cgi, ¿Alguna idea para enviar los datos del formulario al correo aprovechando el soporte cgi?

Os adjunto el código actionscript del flash:

Código:
on (release) {
	url_var = "server_option="+_root.server_option+"&recipient="+_root.recipient+"&your_name="+_parent.t1_2+"&your_email="+_parent.t4_2+"&comments="+_parent.t5_2+"&phone="+_parent.t3_2+"&company="+_parent.t2_2;
	getURL("contact."+_root.server_option+"?"+url_var, "_blank", "GET");
	_parent.t1_2 = "Nombre:";
	_parent.t2_2 = "Empresa:";
	_parent.t3_2 = "Teléfono:";
	_parent.t4_2 = "E-mail:";
	_parent.t5_2 = "Mensaje:";
}
Gracias de antemano
__________________
Carpe diem quam minimum credula postero.


http://www.programador-freelance.es

Última edición por Korku; 22/11/2006 a las 12:12
  #2 (permalink)  
Antiguo 17/11/2006, 06:24
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
Checkea que en el taller de este foro tienes la explicación sobre como usar el FormMail.pl y otros más...

Saludos
PD: Una vez que tengas funcionando el FormMail date una vuelta por el foro de flash que seguro tendrás algún ejemplo para mostrarte...
__________________
Esteban Quintana
  #3 (permalink)  
Antiguo 17/11/2006, 07:41
Colaborador
 
Fecha de Ingreso: mayo-2006
Ubicación: Valladolid
Mensajes: 524
Antigüedad: 17 años, 11 meses
Puntos: 11
Consistiría en un script que recibiera los parámetros (CGI), creara el correo y lo enviara (MIME::Entity, por ejemplo). Yo creo que en una docena de líneas se puede hacer...
  #4 (permalink)  
Antiguo 17/11/2006, 09:11
Avatar de Korku  
Fecha de Ingreso: noviembre-2003
Ubicación: En un lugar oscuro...
Mensajes: 688
Antigüedad: 20 años, 5 meses
Puntos: 5
Bueno, pues... se agradece un ejemplo básico de como enviar correo desde CGI usando flash (versión MX 2004)

Saludos
__________________
Carpe diem quam minimum credula postero.


http://www.programador-freelance.es
  #5 (permalink)  
Antiguo 17/11/2006, 09:49
Colaborador
 
Fecha de Ingreso: mayo-2006
Ubicación: Valladolid
Mensajes: 524
Antigüedad: 17 años, 11 meses
Puntos: 11
Lo siguiente no lo he probado. Está extraído de otro ejempo de otro foro.

Código:
#!/usr/bin/perl
use CGI ':standard';
use CGI::Carp qw(fatalsToBrowser);
use MIME::Entity;

# Comprobamos si el usuario nos ha pasado algún parámetro
if ( param() ) {
    my $nombre  = param('nombre');
    my $empresa = param('empresa');
    my $telefono = param('telefono');
    my $email = param('email');
    my $mensaje = param('mensaje');

    # Creamos el correo electrónico
    my $msg = MIME::Entity->build(
                    Type    => "multipart/mixed",
                    From    => '[email protected]',
                    To      => '[email protected]',
                    Subject => "Mensaje de $nombre",
    );

    # Adjuntamos el mensaje si lo hay
    if ( $mensaje ) {
        $msg->attach(
                    Data    => [ join("\r\n", "Empresa: $empresa", "Telefono: $telefono", "Correo electronico: $email", "Mensaje: $mensaje"), "\r\n" ],
        );
    }

    # Envío, con el smtpsend de Mail::Internet
    $msg->smtpsend(
                   Host    => 'mail.otrawebtuya.net',
                   Hello   => mail.otrawebtuya.net',
                   MailFrom=> '[email protected]',
   );
}

print header;
__END__
No es una docena de líneas, pero casi
  #6 (permalink)  
Antiguo 17/11/2006, 16:55
Avatar de Korku  
Fecha de Ingreso: noviembre-2003
Ubicación: En un lugar oscuro...
Mensajes: 688
Antigüedad: 20 años, 5 meses
Puntos: 5
A ver... solamente quiero el código para enviar... yo tengo los campos y el boton enviar... solamente en el flash y nada más.

monoswim he dado una vuelta por este foro y he encontrado un ejemplo pero no me funciona, es decir, no envía el correo... vamos no hace nada..

Saludos
__________________
Carpe diem quam minimum credula postero.


http://www.programador-freelance.es
  #7 (permalink)  
Antiguo 18/11/2006, 13:12
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
El formMail no hace nada ? :pensativo:

No estará mal configurado ?

Saludos
PD: No busques en nosotros una solución mágica, intenta instalar el FormMail.pl...Te tiene que andar, es uno de los scripts más usados en la web...
__________________
Esteban Quintana
  #8 (permalink)  
Antiguo 18/11/2006, 13:37
Avatar de Korku  
Fecha de Ingreso: noviembre-2003
Ubicación: En un lugar oscuro...
Mensajes: 688
Antigüedad: 20 años, 5 meses
Puntos: 5
A ver... he probado desde HTML y funciona a la perfeción pero desde flash no funciona... es una plantilla flash hecha y funciona para asp o php pero el hosting del cliente no tiene ambos soportes citados, solamente CGI por lo tanto estoy buscando alguna manera de enviar los datos al correo teniendo en cuenta que el formulario contiene campos y dos botones... uno para limpiar el formulario y otro para enviar...

Saludos
__________________
Carpe diem quam minimum credula postero.


http://www.programador-freelance.es
  #9 (permalink)  
Antiguo 18/11/2006, 14:40
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
Fijate como cambiar el flash para que funcione con el CGI...Pues el CGI está funcionando bien...

Hay varios ejemplos en la web, checkea el foro de flash...

Saludos
__________________
Esteban Quintana
  #10 (permalink)  
Antiguo 21/11/2006, 04:40
Avatar de Korku  
Fecha de Ingreso: noviembre-2003
Ubicación: En un lugar oscuro...
Mensajes: 688
Antigüedad: 20 años, 5 meses
Puntos: 5
A ver... me sigue dando problemas...

on (release) {
var tmp = new LoadVars();
tmp.recipient = "[email protected]";
tmp.asunto = "a";
tmp.comentario = "b";
tmp.send("http://cgi.prueba.es/FormMail.pl", "", "POST");
}

Si ejecuto el flash desde local, es decir, desde el ordenador donde estoy me aparece la barra del explorador esto:

http://cgi.prueba.es/FormMail.pl?com...%40prueba%2Ees

y me pone acceso denegado.... es normal porque estoy ejecutando desde local al servidor pero sin embargo cuando subo el flash al servidor donde está el soporte CGI y al ejecutar me muestra esto:

http://cgi.prueba.es/FormMail.pl

Sin aparecer los parámetros y me pone acceso denegado... No entiendo nada... como es que desde local me sale los parámetros y no desde el servidor?
__________________
Carpe diem quam minimum credula postero.


http://www.programador-freelance.es
  #11 (permalink)  
Antiguo 21/11/2006, 05:59
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
Cita:
A ver... he probado desde HTML y funciona a la perfeción pero desde flash no funciona...
Hola amigo, esto no me parece un problema de PERL y CGI, yo preguntaría en el foro de flash, acá no sabemos como ayudarte, ya que el formmail está funcionando correctamente...Es un tema de configuración del FLASH...

Saludos
__________________
Esteban Quintana
  #12 (permalink)  
Antiguo 21/11/2006, 05:59
Avatar de Korku  
Fecha de Ingreso: noviembre-2003
Ubicación: En un lugar oscuro...
Mensajes: 688
Antigüedad: 20 años, 5 meses
Puntos: 5
Bueno, ya está solucionado... es la configuración del flash player... estaba mal configurada... pero falta un detalle, recibo el correo pero... me muestra código HTML:


Mensaje: <P ALIGN="LEFT"><FONT FACE="Tahoma" SIZE="11" COLOR="#7F7F7F" LETTERSPACING="0" KERNING="0">hola</FONT></P>

Email: <P ALIGN="LEFT"><FONT FACE="Tahoma" SIZE="11" COLOR="#7F7F7F" LETTERSPACING="0" KERNING="0">[email protected]</FONT></P>

Telefono: <P ALIGN="LEFT"><FONT FACE="Tahoma" SIZE="11" COLOR="#7F7F7F" LETTERSPACING="0" KERNING="0">hola</FONT></P>

Empresa: <P ALIGN="LEFT"><FONT FACE="Tahoma" SIZE="11" COLOR="#7F7F7F" LETTERSPACING="0" KERNING="0">hola</FONT></P>

Nombre: <P ALIGN="LEFT"><FONT FACE="Tahoma" SIZE="11" COLOR="#7F7F7F" LETTERSPACING="0" KERNING="0">hola</FONT></P>




¿Por que puede ser?

El código es lo siguiente:

on (release) {

var tmp = new LoadVars();

tmp.recipient = "[email protected]";
tmp.subject = "Formulario de contacto desde prueba.es";
tmp.redirect= "http://www.prueba.es";

tmp.Nombre = _parent.t1_2;
tmp.Empresa = _parent.t2_2;
tmp.Telefono = _parent.t3_2;
tmp.Email = _parent.t4_2;
tmp.Mensaje = _parent.t5_2;

tmp.send("http://cgi.prueba.es/FormMail.pl", "", "POST");

status = "Enviado correctamente...";
}

Saludos
__________________
Carpe diem quam minimum credula postero.


http://www.programador-freelance.es
  #13 (permalink)  
Antiguo 21/11/2006, 11:05
Avatar de Korku  
Fecha de Ingreso: noviembre-2003
Ubicación: En un lugar oscuro...
Mensajes: 688
Antigüedad: 20 años, 5 meses
Puntos: 5
Estoy rallao joe... A ver, me doy cuenta que los emails envían de modo TEXTO, es decir, no contiene estilo HTML... ¿Es posible mandar correos en formato HTML? Es que no consigo desaparecer los dichosos tags

Saludos
__________________
Carpe diem quam minimum credula postero.


http://www.programador-freelance.es
  #14 (permalink)  
Antiguo 21/11/2006, 11:35
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
No, el formmail usa solo TXT, igual no creo que sea muy complicado cambiarle el formato a HTML, pero deberías de saber algo de programación...

Te animas a modificarlo ?

Saludos
__________________
Esteban Quintana
  #15 (permalink)  
Antiguo 21/11/2006, 11:40
Avatar de Korku  
Fecha de Ingreso: noviembre-2003
Ubicación: En un lugar oscuro...
Mensajes: 688
Antigüedad: 20 años, 5 meses
Puntos: 5
Jejeje, ojalá pero el archivo FormMail.pl no sé de donde sacarlo porque creo que es exclusivo del proveedor de alojamiento (viene preinstalado) he estado investigando que a partir de la versión 8 de Flash envía los tags HTML y los datos también... que coñazo

Saludos
__________________
Carpe diem quam minimum credula postero.


http://www.programador-freelance.es

Última edición por Korku; 21/11/2006 a las 11:46
  #16 (permalink)  
Antiguo 22/11/2006, 12:01
Avatar de Korku  
Fecha de Ingreso: noviembre-2003
Ubicación: En un lugar oscuro...
Mensajes: 688
Antigüedad: 20 años, 5 meses
Puntos: 5
Conseguido

Solución:

En vez de :

Código:
tmp.Nombre = _parent.t1_2;
tmp.Empresa = _parent.t2_2;
tmp.Telefono = _parent.t3_2;
tmp.Email = _parent.t4_2;
tmp.Mensaje = _parent.t5_2;
Cambiar por:

Código:
tmp.Nombre = _parent.t1.text;
tmp.Empresa = _parent.t2.text;
tmp.Telefono = _parent.t3.text;
tmp.Email = _parent.t4.text;
tmp.Mensaje = _parent.t5.text;
Saludos
__________________
Carpe diem quam minimum credula postero.


http://www.programador-freelance.es
  #17 (permalink)  
Antiguo 22/04/2007, 10:48
 
Fecha de Ingreso: junio-2005
Mensajes: 13
Antigüedad: 18 años, 9 meses
Puntos: 0
Re: Enviar correo CGI

Hola de nuevo, necesito preguntarte una cosa, el script que has puesto es muy bueno y funciona de maravilla pero tiene un pequeño problema cuando lo incluyo dentro de un template, te explico, cuando pulsas el botón y envías el correo, te tiene que enviar a una pagina, le pongo la web de la pagina pero como todo esta hecho en flash, reinicia la web desde el principio y lo que quiero hacer es que me reinicie los cuadros de texto, es decir, que siga en la opción "contactar" pero vacía.
Imagino que si tu caso era también en un template, te pasaba lo mismo, ¿como lo solucionaste?
Es una lata, no se muy bien que hacer, me esta pillando el toro y no se como solucionarlo.

Dime algo plis ...

GRAAAACIAS
  #18 (permalink)  
Antiguo 23/04/2007, 05:50
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
Re: Enviar correo CGI

Usando la opción redirect del FormMail siempre te recargará el formulario, tu dices por tu película flash ? fíjate si lo le pueden mandar un parámetro que haga que salte directamente al fotograma que deseas (al ser recargada la página)...

Espero que te sirva

Saludos
__________________
Esteban Quintana
  #19 (permalink)  
Antiguo 23/04/2007, 07:47
 
Fecha de Ingreso: junio-2005
Mensajes: 13
Antigüedad: 18 años, 9 meses
Puntos: 0
Re: Enviar correo CGI

Lo he intentado, pero no se muy bien como hacerlo, veras, al pulsar el boton hay que poner algo asi:

Lo he intentado, pero no se muy bien como hacerlo, veras, al pulsar el boton hay que poner algo asi:

w ww.lasrosasdigital. com/pruebas/imagen. jpg

(no me deja poner imágenes ni webs ni nada ... )

El caso es que me recarga un html, no se como hacer que me cargue un swf o que me cargue un html donde le diga que vaya a un swf concreto.
Se me ha ocurrido poner una variable que sea o "si" o "no" y que empiece siendo "no", al pulsar el boton sea "si" y al tener este estado, poner un switch al principio donde si es si vaya a un fotograma y si es no, continúe normalmente, pero no se como almacenar la variable.
Pero es solo una idea, seguro que hay una manera mejor.

Toi desesperaito, y la cliente metiendome prisas ... grrrr.

Gracias y un saludete.

El caso es que me recarga un h tml, no se como hacer que me cargue un s wf o que me cargue un h tml donde le diga que vaya a un s wf concreto.
Se me ha ocurrido poner una variable que sea o "si" o "no" y que empiece siendo "no", al pulsar el boton sea "si" y al tener este estado, poner un switch al principio donde si es si vaya a un fotograma y si es no, continúe normalmente, pero no se como almacenar la variable.
Pero es solo una idea, seguro que hay una manera mejor.

Toi desesperaito, y la cliente metiendome prisas ... grrrr.

Gracias y un saludete.
  #20 (permalink)  
Antiguo 23/04/2007, 12:40
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
Re: Enviar correo CGI

se supone que el HTML tiene el swf adentro, con lo cual al recargar el HTML, se te recarga el SWF...

Me refería a eso...

Saludos
__________________
Esteban Quintana
  #21 (permalink)  
Antiguo 23/04/2007, 14:36
 
Fecha de Ingreso: junio-2005
Mensajes: 13
Antigüedad: 18 años, 9 meses
Puntos: 0
Re: Enviar correo CGI

Y existe alguna manera de hacer eso? es decir, decirle que carge un html con un swf dentro que vaya a un frame determinado?? nunca lo he hecho.
  #22 (permalink)  
Antiguo 23/04/2007, 15:58
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
Re: Enviar correo CGI

Solamente debes insertar el SWF en el HTML de tu página, con el dreamweaver lo haces en el menú insertar - media - flash paper...

Espero que te sirva

Saludos
__________________
Esteban Quintana
  #23 (permalink)  
Antiguo 24/04/2007, 01:43
 
Fecha de Ingreso: junio-2005
Mensajes: 13
Antigüedad: 18 años, 9 meses
Puntos: 0
Re: Enviar correo CGI

No hombre, eso si, lo he hecho mil veces, yo digo como escribir una dirección donde vaya a una web al fotograma x del flash que lleva dentro.

Es decir, ww w.tacata.com/index.html?...noseque

Incluso no se si se puede hacer ....
  #24 (permalink)  
Antiguo 24/04/2007, 05:46
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
Re: Enviar correo CGI

escribir la URL es fácil, www.tusitio.com/index.html?tu_variable=yes

Lo que tendrías que hacer es leer desde tu flash esa variable que está en la URL, en action script seguramente se pueda hacer, pregunta a los gurues de flash, porque seguro que se puede...

Saludos
__________________
Esteban Quintana
  #25 (permalink)  
Antiguo 24/04/2007, 07:05
Colaborador
 
Fecha de Ingreso: mayo-2006
Ubicación: Valladolid
Mensajes: 524
Antigüedad: 17 años, 11 meses
Puntos: 11
Re: Enviar correo CGI

Si quieres que un determinado html se cargue en un determinado lugar de la página, lo normal es que ese lugar tenga un nombre, por lo que podrás referenciarlo con el atributo target. Por ejemplo, un iframe se puede cambiar su src si le definimos su id para darle un nombre. Luego, en otro ancla a se le indica que el resultado de su enlace debe mostrarlo en esa id.

Si sólo quieres renovar ciertas partes de la página, es mejor meterlas en etiquetas div y luego, con Javascript (o con ActionScript) cambiar su contenido.

Desde ActionScript puedes recuperar cuadros y animaciones, también. Creo que en los ejemplos de Flash hay alguno.
  #26 (permalink)  
Antiguo 24/04/2007, 07:32
 
Fecha de Ingreso: junio-2005
Mensajes: 13
Antigüedad: 18 años, 9 meses
Puntos: 0
Re: Enviar correo CGI

No me he explicado bien, os cuento, yo tengo una web hecha en flash, dentro de la web hay, pongamos 200 fotogramas, y en el fotograma numero 100 hay un ancla con el nombre de "aki".
La web w ww.pagina.com/pagina.html, abre un swf dentro que es la pagina de la que hablo antes, cuando la cargo, pongo la dirección y se ejecuta desde el principio hasta el stop que tenga.
Yo lo que quiero, es que poniendo la dirección ww w.pagina.com/pagina.html(y lo que sea...) cargue la pagina y vaya directamente al fotograma que tiene el ancla nombrada como "aki".
En plan "ww w.pagina.com/pagina.html?frame=aki" o algo asi, no se como exactamente, lo que no se es si esto es posible o no.
Probablemente haya que poner un javascript o algo para que haga esto, (o no?)

Esa es mi duda, espero haberme explicado esta vez.
  #27 (permalink)  
Antiguo 24/04/2007, 08:59
Colaborador
 
Fecha de Ingreso: mayo-2006
Ubicación: Valladolid
Mensajes: 524
Antigüedad: 17 años, 11 meses
Puntos: 11
Re: Enviar correo CGI

Puedes hacer lo siguiente, en ActionScript(AS): cuando arranque el flash, se supone que tiene cargados todos los frames o al menos está empezando a cargarlos; entonces puedes hacer un procedimiento en AS (que se ejecute en el primer frame, por ejemplo), que mire qué URL es el de la página en donde se encuentra, como lo has puesto: "?frame=aki". Seguramente en AS venga la forma de acceder a ese parámetro y la forma de interpretarlo para extraer el valor de esa variable. Luego, sólo queda hacer un goto(), o start() o la función que tiene AS para que inicie la reproducción a partir de ese frame.

El nombre de funciones y variables debes buscarlas en la ayuda de AS. Yo dejé de hacer cosas en Flash hace casi 5 años, por ser tecnología no compatible.
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 06:37.