Envio del e-mails con Actionscript 3.0 y PHP
Este ejemplo muestra como enviar un correo electrónico desde flash y AS3 , por medio de php. Para que funcione debemos tener un php subido en nuestro servidor con el siguiente código:
1 2 3 4 5 |
$email = $_POST['email']; $asunto = $_POST['asunto']; $cuerpo = $_POST['cuerpo']; mail("$email","$asunto","$cuerpo"); echo "resultado=Mensaje enviado"; |
Podemos pasar los datos necesarios a este fichero desde Flash de la siguiente forma:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
//Importo las clases necesarias import flash.display.Sprite; import flash.net.URLRequest; import flash.net.URLVariables; import flash.net.sendToURL; //Almaceno la url que vamos a cargar para enviar el email var url:String = "Aqui iría la url del php"; function Enviar(e:MouseEvent){ if(DatosCorrectos()){ //Creo las variables para enviar y recibir la informacion var enviar:URLRequest = new URLRequest(url); var recibir:URLLoader = new URLLoader(); //Creo la variable que va a ir dentro de enviar, con los campos que tiene que recibir el PHP. var variables:URLVariables = new URLVariables(); variables.email = Email_txt.text; variables.asunto = Asunto_txt.text; variables.cuerpo = Cuerpo_txt.text; //Indico el método por el que se va a enviar la información. enviar.method = URLRequestMethod.POST; //Indico que voy a enviar variables dentro de la petición enviar.data = variables; //Indico el formato de la información que se va a recibir como respuesta recibir.dataFormat = URLLoaderDataFormat.VARIABLES; //Añado listeners a recibir, para un posible error y una respuesta. recibir.addEventListener(Event.COMPLETE,Respuesta); recibir.addEventListener(IOErrorEvent.IO_ERROR,HayError); //Hago la petición al PHP recibir.load(enviar); Estado_txt.text = "Enviando..."; } } function DatosCorrectos():Boolean{ //Comprueba que ninguno de los campos esté vacío if((Email_txt.text == "") || (Asunto_txt.text == "") || (Cuerpo_txt.text == "")){ Estado_txt.text = "Debes rellenar todos los campos"; return false; } //Compruebo que el mail tenga una arroba y al menos un punto. var email = Email_txt.text; var arroba = email.split("@"); var puntos = email.split("."); if((arroba.length != 2) || (puntos.length < 2)){ Estado_txt.text = "El email no tiene el formato correcto"; return false; } return true; } //Funcion que se ejecuta al recibir una respuesta del PHP, recibiendo la variable resultado. function Respuesta(event:Event){ Estado_txt.text = event.target.data.resultado; } //Función que se ejectuta cuando no se puede cargar el PHP function HayError(event:IOErrorEvent):void { Estado_txt.text = "Error al enviar el correo"; } //Programo el botón de enviar. Enviar_bt.addEventListener(MouseEvent.CLICK,Enviar); stop(); |