Enviar email con Flash y PHP
- 06/12/2006
- 10:47 pm
La presente guia te permitirá enviar email desde un Fflash mediante la funcion mail() de php, para ello utilizaremos LoadVards() de ActionScript para enviar y recibir variables a PHP. Para nuestro ejemplo crearemos un formulario de contacto en cual solicitará algunos datos a nuestros visitantes y luego esta información lo enviará por email a nuestra cuenta de correo.
El primer paso es crear un formulario en flash, para ello creamos una nueva película en blanco e insertamos cuatro campos de texto para el ingreso de datos llamados: txtnombre, txtempresa, txtemail y txtmensaje además de ello creamos un campo de texto dinámico para mostrar el resultado del proceso llamado txtestado.

Una vez que tenemos el formulario completo, el siguiente paso es envíar los datos que el usuario a ingresado a un php que se encargará de hacer el envío del correo, para ello necesitamos una función para comunicar a flash con PHP (que puede ser otro lenguaje de programación), esto lo hacemos con la clase LoadVars.
-
var lvsend:LoadVars = new LoadVars();
-
var lvrecv:LoadVars = new LoadVars();
-
lvsend.nombre = txtnombre.text;
-
lvsend.empresa = txtempresa.text;
-
lvsend.email = txtemail.text;
-
lvsend.mensaje = txtmensaje.text;
-
lvsend.sendAndLoad("email.php", lvrecv, "POST");
-
lvrecv.onLoad = function() {
-
if (lvrecv.rpta == "ok") {
-
txtestado.text = "Enviado con exito";
-
} else {
-
txtestado.text = "Error en el envio";
-
}
-
}
Se crean dos variables del tipo LoadVars la primera llamada lvsend nos servirá para enviar datos y la segunda lvrecv nos permitirá recibir los datos del servidor. El primer paso es asignar que variables se enviarán para ello lo asignamos como una propiedad de lvsend y lo asignamos del campo de texto deseado, podemos la cantidad de variables que necesitemos enviar.
-
lvsend.nombre = txtnombre.text;
El siguiente paso es utilizar la propiedad de LoadVars llamada sendAndLoad que nos permitirá enviar y recibir datos a la vez. Esta función necesita tres parámetros:
- El primer parámetro es la ruta a donde se enviarán los datos, en nuestro caso un archivo llamado mail.php
- El segundo parámetro en una variable del tipo LoadVars en donde se recibirán los datos que devuelva mail.php en nuestro caso la variable es llamada lvrecv
- El tercer y ultimo parámetro es el método de envío de datos POST o GET.
Finalmente para comprobar si efectivamente se enviaron los datos utilizamos la función onLoad el cual se ejecuta una vez que se hayan cargado los datos que nos envía mail.php. Verificamos que la variable rpta tiene el valor ok y segun ello mostramos un mensaje con el estado del envío.
Ahora esta guia no puede estar completa si es que no mostramos el código php para el envío del correo y la correspondiente respuesta a flash.
-
if ($_POST['email'] = "") {
-
$dest = "unijimpe@gmail.com";
-
$head = "From: ".$_POST['email']."\r\n";
-
$head.= "To: unijimpe@gmail.com\r\n";
-
// Ahora creamos el cuerpo del mensaje
-
$msg = "------------------------------- \n";
-
$msg.= " Comentarios \n";
-
$msg.= "------------------------------- \n";
-
$msg.= "NOMBRE: ".$_POST['nombre']."\n";
-
$msg.= "EMPRESA: ".$_POST['empresa']."\n";
-
$msg.= "EMAIL: ".$_POST['email']."\n";
-
$msg.= "------------------------------- \n\n";
-
$msg.= $_POST['mensaje']."\n\n";
-
$msg.= "------------------------------- \n";
-
$msg.= " Mensaje creado por blog.unijimpe.net \n";
-
// Finalmente enviamos el mensaje
-
echo "rpta=ok";
-
} else {
-
echo "rpta=error";
-
}
-
}
Para una explicación detallada de este ultimo PHP pueden leer http://blog.unijimpe.net/enviar-e-mail-con-php/, Para concluir con este ejemplo les dejo los archivos fuente para que lo descarguen y puedan revisarlo.
Posts Relacionados
- Envíar E-mail con PHP
- Enviar email multiple con PHP
- Enviar email con AS3 y PHP
- Javascript: Evitar doble Submit
- Enviar Email con Adjuntos
Total de Comentarios: 74
Para que funcione el boton borrar puedes colocar:
btborrar.onPress = function() {
txtnombre.text = “”;
txtempresa.text = “”;
txtemail.text = “”;
txtmensaje.text = “”;
}
Hola no me puedo descargar los ficheros, me los podrías envíasr? plz.
Muchas gracias.
Cristian
Hola, acabo de verificar los archivos de descarga y esta bien, revisa nuevamente para que lo descargues.
Saludos.
Hola, lei el tutorial y lo aplique, pero no envia o no recibo los correos. podria indicarme si falta anexar un archivo o algo asi. Tengo un servidor desde el que los envio. Gracias, saludos
Para enviar correo necesitas un servidor de correo SMTP, otro punto es que el correo algunas veces llega a la carpeta de “no deseados”… verfica estos punto. Descarga los archivos de ejemplo y verifica con ellos.
La verdad es que muy buen articulo, me ha ayudado mucho. Tambien podrias hacer un formulario que lo enviase con aspmail. Muy bueno de verdad, un cordial saludo carlos
hola muy buen tutorial ya me lo baje para estudiarlo mas pero por mas que le mueva no se porque me sale error en el envio :(
Fijate que tengas habilitado el servidor de correo pues para el envío se necesita un servidor SMTP. Tipicamento los hosting lo tienen habilitado. Si lo pruebas en forma local necesitas instalar un servidor SMTP para las pruebas.
Pues si esta habilitado ya que tengo ps un foro donde permite tambien el envio de meils a los usuarios registrados entonces ps no hay problema ai…
muy bueno pero lo colgue en mi sitio para probar y no me envia voy a ver si tengo que configuarar algo mas.
excelente blog
como configuro un servidor de correo SMTP…disculpame la preg!..pero soy principiante en esto………me ha servido mucho la info de tu blog….muchas gracias
Si tu pagina esta en un hosting bueno ya tienes un servidor SMTP incluido, por ejemplo si tu sitio se llama: misitio.com la dirección de tu servidor SMTP sería: mail.misitio.com.
Ahora si lo estas probando de manera local, en Windows debes instalar un servidor SMTP. Yo he utilizado el Imail Server en la versión trial que me basto para hacer mis pruebas. Otra posibilidad en WinXP es instalar el servidor SMTP que viene con Internet Information Server.
hola a todos:
Quiza este preguntando esto en el lugar equivocado; pero queria saber si existe una posibilidad de enviar animaciones flash como parte de un email; eh probado desactivando el rtf y utilizando programacion html. y parece funcionar una vez que activo el rtf; pero cuando lo envio el mensaje llega en blanco (y si estaba subido ya en un host).
Por cierto acabo de crear el formulario y me preguntaba cual es un buen hosting para subir mis archivos flash.
Saludos: smily
Bueno respecto al envío de flash por correo no esta permitido, pues el flash player es un activeX y por motivos de seguridad no se permite ningún activeX en los mensajes de correo, lo común es hacer una versión en html de tu mensaje el cual se envia por correo y que tenga un enlace a la versión flash que se encuentra en tu hosting.
Respecto a hosting, te comento que el mejor es MediaTemple el cual ofrece un muy buen servicio.
hola
soy nuevo en esto, acabo de crear un formaulario de contacto en dreanweaver, el formualrio lo hice en HTML q lo llame formulario.html y hice otro archivo en PHP con el nombre enviar.php donde puse un codigo que vi en una pagina, mi problema es que la hora de enviar me sale una ventanita de descarga, que me pide descargar el archivo enviar.php. aver si me pudieran ayuda
GRACIAS.
Segun parece tu hosting o maquina donde estas probando no soporta PHP, para ello necesitas un hosting o computadora con php instalado y configurado para que funcione.
Necesito ayuda con este formulario, ¿como puedo insertar un Radio boton de flash en este formulario?
Muchas gracias de antemano
Hola, quisiera saber cómo poner un “suscribirse” pero que lo único que se necesite es poner el e-mail y al enviarlo, me lo mande a mi correo para yo agregarlo a una lista para enviar actualizaciones cuando yo crea pertinente. Como el que utilizas tú.
Interesante articulo, los formularios son la gran pesadilla ;)
Hola,
Tengo una duda, si creo un formulario en html+php funciona y envia correo sin problema. Cuando lo hago siguiendo este tutorial, flash+php no fuciona.
Los dos estan alojados en el mismo directorio del mismo servidor
Tienes alguna idea de por que puede ser?
Gracias
Alguna variable no la estas enviando correctamente, no has cambiado la dirección del destinatario por ejemplo. Revisa que esta respondiendo PHP cuando se trata de hacer el envío con flash y tendrás la solución a tu problema.
Hola, tengo un problema con las variables php, por ejemplo:
la aplicacion flash, me devuelve:
Pan”;
?>
Nota:uso AS3
Según parece el php no esta funcionando, revisa que el php funcione correctamente, para ello abre el php con un navegador para comprobar que funciona correctamente.
Hola ya lo intente, pero me devuelve el codigo escritor no el resultado que le pido, que piensas tu, espero si hayas visto el codigo que te mande
Sucede que no se esta ejecutando el PHP, pues cuando abres tu archivo debería darte un resultado y jamas debería devolver el mismo código. Ojo que el archivo se abre colocando la dirección de tu servidor web por ejemplo: http://localhost/enviar.php eso dependiendo del nombre de tu archivo y de la dirección de tu servidor.
Ya he logrado hacer que me lea las variables, ahora mi problema se presenta al leer multiples variables, me da el error de name/value, te ha pasado?
No entiendo muy bien tu pregunta a ver si puedes ser mas especifico para ayudarte.
me pueden explicar como crear el formulario con un menú, que al escoger una de las posibilidades envie a una dirección de mail específica. Si se escoge otra opción del menú me envie a otra dirección mail. Gracias
HOLA!!
sabes que a mi me funcionaba perfecto mi flash mandando mails con los formulario, pero de un dia para otro los formulario nos llegan
He probado ya en 3 servidores, y no funciona.
pruebo con un php para ver si es un problema del servidor y sale todo como deberia ser pero no llega el mail!!!
Que habrá pasado?
GRACIAS! NEcesito respuesta urgente
Saludos hermano, tengo dos pregunticas,
la primera:
Como puedo configurar el //localhost/ no se como hacerlo
y la segunda:
Yo utilizo los servicios de caracashosting.com los archivos los subo en public_html alli subi los archivos del ejercicio y no funciono ¿cual fue el problema? habia que meterlos en otra carpeta o cual es el problema.
le agradezco me ayude porque de verdad que estoy confundido
no existe otra forma de crear un formulario para envio de email sin depender de php, asp… me refiero solo usando codigo?
Armando, generalmente los usuarios descargan los archivos de ejemplo, lo suben y lo prueban tal cual, por eso me llegan cientos de emails de prueba, lo que tienes que hacer es cambiar el destinatario y llegara a tu cuenta de correo. Por lo demás todos los hosting tienen soporte para enviar correo con localhost.
William, para enviar correo electrónica es necesario siempre un servidor SMTP de correo el cual se encarga de enviar el correo, ahora para comunicarse con ese servidor necesitas algún lenguaje de programación ASP, PHP o cualquier otro. Utilizando solo HTML y Javascript es imposible pues estos no permiten conectarse con servidores de correo.
Ahora por otro lado existen servicios gratuitos que te permiten enviar correo sin utilizar un lenguaje de programación, pero tienen el problema que te redireccionan a otra pagina y ademas te llenan de publicidad.
[...] Como Enviar un Email Email con Flash y PHP: Por medio de este portal podras encontrar informacion sobre una guia la cual te permmitira enviar email desde un flash mediante la funcion mail de php, te muestra los pasos a seguir para poder realizarlo de manera sencilla. [...]
[...] Mandar Email Email con Flash y PHP: Por medio de este portal podras encontrar informacion sobre una guia la cual te permmitira enviar email desde un flash mediante la funcion mail de php, te muestra los pasos a seguir para poder realizarlo de manera sencilla. [...]
hola, use tu formulario para una pagina que diseñe, y al probarlo me pone en txtestado.text Error en el envío… lo revise miles de veces y sigue funcionando mal… incluso probe usar tu ejemplo tal cual estaba sin cambiar siquiera el mail para ver si funcionaba y me sigue dando erro =S
por favor… si hay alguna manera de encontrar el error te lo agradeceria mucho… saludos!!!
Yo tengo un form hecho ya en html y quiero mandar el formulario usando php, como hago para que cuando el usuario de click en “Enviar” este boton llame a la pagina php para que inicie el proceso de envio????
[...] Mail con Php y Flash: Mediante este pequeño blog podras encontrar informacion acerca de como enviar email con flash y php, cuenta con datos sobre el diseño del mismo asi como el codigo a utilizar para poder realizar este proyecto. [...]
no se porque no me envia el php a ningun e-mail que le pongo, debo poner mi correo en el cabezal y en el cierre del php? como enlazo el flash con el php? porfa es la primera vez que hago esto y es mi primer trabajo!!!
fijate ke ami no me funciono nose porque es te agradeceria mucho tu ayuda
no me funciona….el archivo php que descargue se llama “mail.php” y en el ActionScript dice “email.php”…lo cambie y aun asi no me funciona…HELP ME….please!!..
y todo esta subido a un servidor …
no me funciona…
para que me llegue a mi correo “victor49622@hotmail.com”…lo escribo asi????
if ($_POST['email'] = “”) {
$dest = “victor49622@hotmail.com”;
$head = “From: “.$_POST['email'].”\r\n”;
$head.= “To: victor49622@hotmail.com\r\n”;
// Ahora creamos el cuerpo del mensaje
$msg = “——————————- \n”;
$msg.= ” Comentarios \n”;
$msg.= “——————————- \n”;
$msg.= “NOMBRE: “.$_POST['nombre'].”\n”;
$msg.= “EMPRESA: “.$_POST['empresa'].”\n”;
$msg.= “EMAIL: “.$_POST['email'].”\n”;
$msg.= “HORA: “.date(”h:i:s a “).”\n”;
$msg.= “FECHA: “.date(”D, d M Y”).”\n”;
$msg.= “——————————- \n\n”;
$msg.= $_POST['mensaje'].”\n\n”;
$msg.= “————————
——- \n”;
si alguien pudiera ayudarme porfa….GRACIAS!!!
$msg.= ” Mensaje creado por blog.unijimpe.net \n”;
// Finalmente enviamos el mensaje
if (mail($dest, “Comentarios”, $msg, $head)) {
echo “rpta=ok”;
} else {
echo “rpta=error”;
}
}
brother gracias por el aporte está muy útil interesante probé el formulario desde 3 servidores con smtp y no se envía nada, luego lo probé desde mi máquina con apache y servidor de correo local y funciona a la perfección quisiera me orientaras si es que a la hora de colocarlo en un hosting hay que modificarle algo
oigan alguien me puede ayudar, yo tambien tengo un codigito algo simple. miren k resulta k tengo esta aplicacion en flash con el siguiente codigo
on (release) {
if (cuenta.text.length && contra.length) {
frm = new LoadVars();
frm.cuenta=cuenta.text;
frm.contra=contra.text;
mensaje.text=”Iniciando Sesion…”;
frm.sendAndLoad(”imprimir.php”, frm, “POST”);
frm.onLoad = function()
{
if (this.estatus == “ok”)
{
mensaje.text = “El usuario fue registrado con exito”;
}
else
{
mensaje.text = “ERROR: No se pudo registrar al usuario”;
}
}
}
else
{
mensaje.text=”Falta alguno de los datos”;
}
}
tengo sus respectivas cajas y un boton para especificar la accion. en el php tengo lo siguiente:
se llama imprimir.php
entonces de resultado me envia: El usuario fue registrado con exito
eso kiere decir k si se envian los datos y si se reciben correctos en imprimir.php pero no me abre la pagina que incluyo de inicia.php. Cual es mi error? o que me falta? aguien sabe por que no me abre ese link. ya le calé con header(”Location:inicia.php”); pero no se abre esa pagina. alguien puede ayudarme , se lo agradeceria mucho gracias!!!….
No me funciona. Lo pruebo en un servidor Local, y en el servidor de la empresa y es lo mismo no funciona y no se que hacer. Me ayudan
me puede ayudar con este tema que ddebo tener en cuenta con la cuenta de correo y el domino el codigo php
Hello aún no recibo respuesta.?
mi problema es que el mensage se envia correcto cuando le mando a una direccion hotmail, pero no me llega cuando le mado a una cuenta outlock.
si alguin tene idea de ayudarme por favor y gracias
Estimado Unijimpe
Tengo un problema con los archivos descargados, me dice error:
Formato de archivo inesperado cuando intento abrir el archivo .fla
Espero tus comentarios
Saludos Cordiales
Rafael Barreto
hola, unijimpe ¿podrias ayudarme con el problema de cargar variables de php en flash? lo he intentado creando un campo de texto para recoger el valor de esas variables de php y un objeto de la clase LoadVars que cargue esas variables, pero el resultado me sale “undefined”
Hariri, es muy probable que el Outlook tenga un filtro antispam que este bloqueando el correo que envías.
Rafael: si no me equivoco el archivo fla esta en Flash CS3 así que si tienes Flash 8 no lo podrás abrir, verifica eso.
Juanjo: primero haz un trace de la variable que contiene la respuesta del servidor, allí detectarás cual es el error (el PHP o el Flash). Puedes ver como cargar datos a flash desde PHP en: http://blog.unijimpe.net/cargar-datos-externos-en-flash/
es un muy buen articulo solo tengo una duda tienes el codigo para evitar spam, la verdad soy nobato en php, me podrias ayudar??
hola bueno se que es muy tonta mi pregunta pero donde tengo q escribir el codigo de php
hola necesito ayuda ya hice todo tal kual par aenvio de correo …me llega el correo pero no captura los datos a ke se debe eso?
Bueno, quiza mi pregunta sea tonta o todos sepan. Estoy diseñando mi pagina, y generé un boton que es una cartita- Ahora lo que quierom saber es que hay que poner en el Actionscript, como para que cuando e usuario haga click en el boton, a este se le abra su ventana de outlook y este mi direccion de correo como para escribirme.
Gracias
Ana
Para ello, suponiendo que tu botón se llama btsend, debes crearle el siguiente código:
btsend.onRelease = function() {
getURL(”mailto:email@destino.com”);
}
Lo hice y me aparece:
**Error** Clipboard actions:Line 2: This type of quotation mark is not allowed in ActionScript. Please change it to a standard (straight) double quote.
getURL(”mailto:email@destino.com”);
que paso?
la accion la ejecuto en el boton mismo de la cartita o en una linea de tiempo nueva (otra capa) que este arriba?
Gracias
Al momento de redactar el código las comillas se modificaron, edita tu codigo y coloca comillas dobles y veras que funciona bien.
Todavia no lo prove en la web.. cuando lo pruebo en el swf.. no me lleva a ningun lado, quizas en la web funcione, gracias!
Otra consulta.. a cerca de sonidos..
Tengo 2 escenas,
en la primera tengo el sonido, pero en la segunda no. yo quiero frenar y volver a reproducir el sonido en la segunda escena-.. como funcionan los sonidos gralemnte.??
se me re complica. Soy una burra!!!
Gracias
En serio gracias
[...] en esta ocasión les presentamos un ejemplo de como enviar email con AS3 y PHP a semejanza de Enviar email con Flash y PHP pero esta vez actualizando con los nuevos métodos disponibles en [...]
[...] en esta ocasión les presentamos un ejemplo de como enviar email con AS3 y PHP a semejanza de Enviar email con Flash y PHP pero esta vez actualizando con los nuevos métodos disponibles en [...]
como estan mira tengo el formuario ya hecho y tengo en siguiente codigo pero no llega, me puedes confirmar cual es el error del php ya que lo he revisado muchas veces y no hayo el fallo, urgente por favor….muchas gracias.
codigo as para enviar
on (release)
{
function checkemail(email)
{
var _loc2 = new String(email);
var _loc1 = _loc2.split(”@”);
if (_loc1.length != 2 || _loc1[1].indexOf(”.”) < 1)
{
showerror(”email no valido verifiquelo por favor”);
return (false);
}
else
{
return (true);
}
}
function showerror(message)
{
gotoAndStop(”error”);
error = message;
}
if (name != “” && name != undefined && email != “” && email != undefined && message != “” && message != undefined)
{
if (checkemail(email))
{
loadVariables(”sendmail.php”, “”, “POST”);
showerror(”Gracias su mensaje; se a enviado correctamente”);
_root.gotoandplay(2);
}
}
else
{
trace (”empty”);
showerror(”Por favor complete las secciones requeridas!”);
}
}
codigo PHP
exelente el tutorial!! me vino de lujo.. solo q soy muy nuevo, en php… cuando ejecuto el swf… lleno el formulario .. clikeo enviar… y no pasa nada…. al archivo php… lo tengo solo con el codigo del tutorial,
en la misma carpeta q los demas… donde coloco el codigo php?. le falta algo?.. me falta algo?…gracias
necesito algun hosting?… logicamente funciona todo .. solo q no me envia el correo, … help
Se podria hacer algo como un sistema de noticias que se visualice en una pelicula SWF pero que se actualice en un panel de control en php?
BetoChO, lo que puedes hacer es guardar los datos en una base de datos y hacer una interfaz en PHP que obtenga y guarde los cambios en estos datos. Para la parte Flash, generas un XML con los datos que tienes en la base de datos utilizando PHP, luego este XML lo lees con ActionScript y lo muestras de acuerdo a tus necesidades.
Si tengo mi pagina web subido en un hosting donde pongo el codigo Php lo subo tambien donde esta el swf del formulario y no hay que configurar nada
Buenos dias,muy interesante este blog.
Mira amigo yo subi todo lo que es la parte .swf con su respectivo .php y esta todo perfecto para enviar..pero al momento de enviar me aparece que se ha enviado y reviso el email y no se me envio nada.Tengo hotmail,si es que con algun otro email me va a andar decime asi directamente me cambio de email y ya soluciono todo.
Muchas gracias
Bueno estoy viendo y probando esto… una pregunta en el tutorial no falto el codigo del boton Enviar???
si es asi podrias compartirlo por favor.
Excelente codigo felicitaciones.
Aqui dejo los archivos que utilizo a ver si les puedes hechar un vistazo, porque me envia siempre Error de envio, si por favor podrias ayudarme te estaria agradecidisimo.
http://www.raotango.com.ar/descargas/rao2.rar
por favor ayuda :P estoy desesperado jajaja
Bueno, tengo pocos conocimientos de Flash, ya que hace poco comenze con las animaciones, pero el tema es el siguiente:
Tengo que mandar una pequeña animacion, a aproximadamente, unas 150 personas. Cree un correo en Gmail, tengo los contactos listos, tengo la animacion swf hosteada con su respectivo link, pero quisiera saber si hay manera de que se reproduzca automaticamente el link/animacion ni bien se abre el mail.
En otra web, encontre que hablablan de insertar este codigo:
Alguna idea al respecto? :S
Desde ya, muchas gracias por la ayuuda.
Santino, en un email no se pueden reproducir SWFs ni scripts, esto es por un tema de seguridad pues se pueden enviar virus por este medio. Cuando se quiere enviar una animación flash, generalmente se envía una imagen de la animación con un enlace al archivo html donde se encuentra el SWF.
hola
baje los ficheros pero no pude habrirlos para verlos
sera por k tengo el flash 7
:(

