Enviar email con AS3 y PHP
- 05/03/2008
- 12:25 am
ActionScript 3 viene con nuevos métodos para el envío y recepción de datos, 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 AS3.
Implementando el Formulario en Flash
Sea que vamos a implementar un formulario de contácto, creamos cuatro campos de texto: txtnombre, txtempresa, txtemail y txtmensaje en los cuales el usuario ingresará sus datos. Además de ello creamos dos MovieClips btenviar y btborrar que servirán para enviar o limpiar el formulario.
Agregando Eventos a los Botones
Lo primero es agregar los eventos para el funcionamiento de los botones, para ello hacemos uso del método addEventListener de la siguiente forma:
-
btborrar.addEventListener(MouseEvent.MOUSE_DOWN, onBorrar);
-
btenviar.addEventListener(MouseEvent.MOUSE_DOWN, onEnviar);
-
-
function onBorrar(obj:Event) {
-
// acción para el botón btborrar
-
}
-
function onEnviar(obj:Event) {
-
// acción para el botón btenviar
-
}
Implementando el botón Borrar
Para el botón borrar asignamos a todos los campos del formulario a un texto vacío para de esta forma tener todos los campos limpios.
-
function onBorrar(obj:Event) {
-
txtnombre.text = "";
-
txtempresa.text = "";
-
txtemail.text = "";
-
txtmensaje.text = "";
-
}
Implementando el botón Enviar
El presionar el botón Envíar, se tienen que enviar los datos de los campos como variables a un script del servidor que encargue del envío del correo (En nuestro caso mail.php). Para ello hacemos uso de las clases URLVariables que permitirá definir las variables a enviar, URLRequest que permite definir a donde se enviaran los datos y bajo que método y URLLoader que permite hacer el envío de datos y la detección de este proceso.
-
function onEnviar(obj:Event) {
-
// variables a enviar
-
var urlVars:URLVariables = new URLVariables();
-
urlVars.nombre = txtnombre.text;
-
urlVars.empresa = txtempresa.text;
-
urlVars.email = txtemail.text;
-
urlVars.mensaje = txtmensaje.text;
-
// opciones para el envío
-
var urlRequ:URLRequest = new URLRequest("mail.php");
-
urlRequ.method = URLRequestMethod.POST;
-
urlRequ.data = urlVars;
-
// envío y detección de la respuesta
-
var urlLoad:URLLoader = new URLLoader();
-
urlLoad.load(urlRequ);
-
urlLoad.addEventListener(Event.COMPLETE, onSendComplete);
-
urlLoad.addEventListener(IOErrorEvent.IO_ERROR, onSendError);
-
}
Como se observa hemos agregado dos detectores de eventos para mostrar un mensaje de texto de acuerdo a la respuesta del proceso. Para ello implementamos los dos detectores.
-
function onSendComplete(obj:Event) {
-
txtestado.text = "Mensaje Enviado";
-
}
-
function onSendError(obj:Event) {
-
txtestado.text = "Mensaje Fallido";
-
}
Finalizando
Unimos todos los bloques de código que hemos desarrollado para obtener nuestro script en AS3 que permitirá el envío de los datos del formulario al script mail.php que se encargará del envío de correo.
-
btborrar.addEventListener(MouseEvent.MOUSE_DOWN, onBorrar);
-
btenviar.addEventListener(MouseEvent.MOUSE_DOWN, onEnviar);
-
-
function onBorrar(obj:Event) {
-
txtnombre.text = "";
-
txtempresa.text = "";
-
txtemail.text = "";
-
txtmensaje.text = "";
-
}
-
function onEnviar(obj:Event) {
-
var urlVars:URLVariables = new URLVariables();
-
urlVars.nombre = txtnombre.text;
-
urlVars.empresa = txtempresa.text;
-
urlVars.email = txtemail.text;
-
urlVars.mensaje = txtmensaje.text;
-
-
var urlRequ:URLRequest = new URLRequest("mail.php");
-
urlRequ.method = URLRequestMethod.POST;
-
urlRequ.data = urlVars;
-
-
var urlLoad:URLLoader = new URLLoader();
-
urlLoad.load(urlRequ);
-
urlLoad.addEventListener(Event.COMPLETE, onSendComplete);
-
urlLoad.addEventListener(IOErrorEvent.IO_ERROR, onSendError);
-
}
-
-
function onSendComplete(obj:Event) {
-
txtestado.text = "Mensaje Enviado";
-
}
-
function onSendError(obj:Event) {
-
txtestado.text = "Mensaje Fallido";
-
}
Para ver en detalle como se envía correo con PHP, pueden leer Envíar E-mail con PHP. Pueden ver el ejemplo funcionando en mailas3 y finalmente pueden descargar los archivos fuente que incluye el script para el envío de correo en PHP.
Posts Relacionados
- Envíar E-mail con PHP
- Enviar email multiple con PHP
- Javascript: Evitar doble Submit
- Enviar email con Flash y PHP
- Enviar Email con PHP y Gmail
Total de Comentarios: 13
Excelente ejemplo para iniciar!! con ese ejemplo, es ahora màs fàcil implementar un sistema de validación!
[...] “unijimpe” me ecnientro con este muy buen tutorial que muestra como hacer un formulario que se envie [...]
Unijimpe, muy útil el tutorial. Pero no sé dónde debo introducir mi dirección de e-mail para que me lleguen los e-mails cuando la gente envíe el formulario desde mi web.
Perdona mi ignorancia.
Me quede en la misma situacion de Nacho, donde debo introducir la direccion destino para que llegue el mensaje de correo?…Podrian agregar algunos fragmentos con “Alerts” para evitar el envio de campos vacios?…Gracias!.
Gracias por el codigo en verdad que eres una gran contribucion para la comunidad programadora…
hice formulario en flash, tambien el archivo php… me sale q se envio, pero nunca llega a mi casilla, eso por un lado… por otro me baje el ejemplo y funciono una sola ves… cuando envio otro formulario no me llega.. q puede ser lo q pasa…
Hola,
buen tuto, bastante util. Solo una pregunta. ¿Sabes si se puede dar algún tipo de formato al email que recibes?, es decir, poder seleccionar la fuente o el tamaño de la misma. Tambien, porque por ejemplo no reconoce las tildes.
Un saludo
Para darle formato al email, puedes hacerlo con PHP, en donde el lugar de envuar texto plano puedes enviar html con lo cual puedes aplicar el formato que deseas
muchas gracias por el tutorial y por el complemento que es el enviar con PHP.
que tal unijimpe, tengo una duda este mismo metodo tal cual esta sirve para ASP??
Gracias!
Si, bien podrias utilizarlo con ASP, JSP o el lenguaje de servidor que mas prefieras, el flash hace las veces de mascara para ingresar los datos solamente.
realmente funciona!!!!
gracias


