Hola.
Tengo un problema con un formulario de mail con PHP hecho con flash.
La pagina que estoy haciendo es http://www.other-side.com.ar realice un formulario para mail pero no funciona.
Cuando uso el archivo swf en mi Pc la comprobación de las funciones (tanto del fla como del send.php) andan, pero al subirlas al servidor y querer enviar un mail la pagina se queda un largo tiempo en el estado de “conectando con el servidor” y el mail nunca me llega.
El servicio que tiene contratado la banda tiene la funcion de php.
Aca les envio la programación de los dos para ver si pueden ayudarme a que funcione, se que puede ser tedioso para ustedes, pero yo llegue a un punto en que ya no se que hacer y no le encuentro el error.
FLASH (archivo fla)
Como podran ver en www.other-side.com.ar tengo el formulario con “nombre”, “mail”, “motivo” y consulta” y el boton “enviar”
1) La funcion del boton enviar es:
on(release)
{
enviar();
}
2) la funcion del archivo fla para el formulario es la siguiente:
import mx.controls.Alert;
import mx.controls.Alert;
stop();
txt_nombre = '';
txt_email = '';
txt_motivo = '';
txt_consulta = '';
limpiar_contenido = function () {
txt_nombre = '';
txt_email = '';
txt_motivo = '';
txt_consulta = '';
}
enviar = function ()
{
if (txt_nombre.length != 0 && txt_email.length != 0 && txt_motivo.length != 0 && txt_consulta.length != 0)
{
if (txt_email.indexOf("@") != -1 && txt_email.indexOf(".") != -1)
{
form_lv = new LoadVars();
form_lv.nombre = txt_nombre;
form_lv.email = txt_email;
form_lv.motivo = txt_motivo;
form_lv.consulta = txt_consulta;
form_lv.sendAndLoad("send.php", form_lv, "POST");
form_lv.onLoad = function() {trace("LLEGO");
if (this.estatus == "ok")
{
limpiar_contenido();
Alert.yesLabel = "Aceptar";
Alert.buttonWidth = 75;
Alert.show("Tu mensaje a sido enviado", "Other Side", Alert.YES, _root, alClicar, "mensaje", Alert.OK);
} };
}
else {txt_email = "Correo Invalido";
}}
else {
if(txt_email.length == 0 or txt_email == "D") {txt_email = "Dato Necesario"}
if(txt_motivo.length == 0 or txt_motivo == "Dato Necesario") {txt_motivo = "Dato Necesario"}
if(txt_nombre.length == 0 or txt_nombre == "Dato Necesario") {txt_nombre = "Dato Necesario"}
if(txt_consulta.length == 0 or txt_consulta == "Dato Necesario") {txt_consulta = "Dato Necesario"}
}
}
Dentro del archivo.fla tengo el componente “Alert” en la librería.
El Archivo Send.php tiene esta function, el mail que puse es el mio para hacer la comprobación.
<?php
if(isset($_POST["nombre"]) && isset($_POST["email"]) && isset($_POST["motivo"]) && isset($_POST["consulta"]) ){
function ValidarDatos($campo){
//Array con las posibles cabeceras a utilizar por un spammer
$badHeads = array("Content-Type:",
"MIME-Version:",
"Content-Transfer-Encoding:",
"Return-path:",
"Subject:",
"From:",
"Envelope-to:",
"To:",
"bcc:",
"cc:");
//Comprobamos que entre los datos no se encuentre alguna de
//las cadenas del array. Si se encuentra alguna cadena se
//dirige a una página de Forbidden
foreach($badHeads as $valor){
if(strpos(strtolower($campo), strtolower($valor)) !== false){
header("HTTP/1.0 403 Forbidden");
exit;
}
}
}
//Ejemplo de llamadas a la funcion
ValidarDatos($_POST['nombre']);
ValidarDatos($_POST['email']);
ValidarDatos($_POST['motivo']);
ValidarDatos($_POST['consulta']);
$fecha = date("D-M-y H:i");
$mymail = "[email protected]";
$subject = "Email";
$contenido = $_POST["nombre"].":\n";
$contenido .= "Motivo :".$_POST["motivo"]."\n";
$contenido .= "email :".$_POST["email"]."\n\n";
$contenido .= $_POST["consulta"]."\n\n";
$contenido .= "el mensaje se escribio el ".$fecha;
$header = "From:".$_POST["mail"]."\nReply-To:".$_POST["mail"]."\n";
$header .= "X-Mailer:PHP/".phpversion()."\n";
$header .= "Mime-Version: 1.0\n";
$header .= "Content-Type: text/plain";
mail($mymail, $subject, utf8_decode($contenido) ,$header);
echo "&estatus=ok&";
}
?>
Si alguien puede darme una mano en esto se lo agradecere
Gustavo