Os pongo aqui los codigos usados ... será algo largo...
Os pongo primero el de Flash:
Cita:
En el boton enviar_btn "fileRef.browse(allTypes);" esta linea no esta, realmente esta dentro de la funcion comprovar(); que ejecuto con el botón, es solo para que se vea que lo ejecuto ... donde esta file.upload no esta la url ja que no puedo poner la correcta...enviar_btn.onRelease = function() {
Delete();
comprovar();
fileRef.browse(allTypes);
};
// Funcion de Envio de Correo
var envioMail:LoadVars = new LoadVars();
var recibirMail:LoadVars = new LoadVars();
function Enviar() {
envioMail.nombre = contingut_mc.imatges_mc.nombre_txt.text;
envioMail.apellidos = contingut_mc.imatges_mc.apellidos_txt.text;
envioMail.email = contingut_mc.imatges_mc.email_txt.text;
envioMail.telefono = contingut_mc.imatges_mc.telefono_txt.text;
envioMail.direccion = contingut_mc.imatges_mc.direccion_txt.text;
envioMail.poblacion = contingut_mc.imatges_mc.poblacion_txt.text;
envioMail.estudios = contingut_mc.imatges_mc.estudios_txt.text;
envioMail.horario = horari_mc.select_txt.text;
envioMail.curriculum = contingut_mc.imatges_mc.curriculum_txt.text;
envioMail.send("includes/curriculum.php");
};
/////////////////////////
import flash.net.FileReference;
var allTypes:Array = new Array();
var imageTypes:Object = new Object();
imageTypes.description = "Archivos permitidos (*.jpg, *.txt, *.pdf, *.doc)";
imageTypes.extension = "*.jpg; *.txt; *.pdf; *.doc";
allTypes.push(imageTypes);
var adjuntar:Object = new Object();
adjuntar.onSelect = function(file:FileReference):Void {
if(!file.upload("direccion de curriculum.php")) {
comprovacio_mc.comprovació_txt.htmlText += "<b>Error al obrir la finestra de selecció.</b><br>";
error();
}
}
adjuntar.onCancel = function(file:FileReference):Void {
comprovacio_mc.comprovació_txt.htmlText += "<b>Cancelat.</b><br>";
}
adjuntar.onOpen = function(file:FileReference):Void {
comprovacio_mc.comprovació_txt.htmlText += "<b>Obrint Arxiu: " + file.name + "</b><br>";
}
adjuntar.onProgress = function(file:FileReference, bytesLoaded:Number, bytesTotal:Number):Void {
comprovacio_mc.comprovació_txt.htmlText += "<b>Carregant Arxiu " + file.name +": " + Math.round(bytesLoaded/1024) + " KB d'un total de " + Math.round(bytesTotal/1024) + " KB</b><br>";
}
adjuntar.onComplete = function(file:FileReference):Void {
comprovacio_mc.comprovació_txt.htmlText += "<b>Carrega completa de " + file.name + "<br>Enviat formulari correctament.</b><br>";
Enviar();
enviado();
}
adjuntar.onHTTPError = function(file:FileReference):Void {
comprovacio_mc.comprovació_txt.htmlText += "<b>Error en la carrega HTTP de " + file.name + "</b><br>";
error();
}
adjuntar.onIOError = function(file:FileReference):Void {
comprovacio_mc.comprovació_txt.htmlText += "<b>Error de conexió IO de " + file.name + "</b><br>";
error();
}
adjuntar.onSecurityError = function(file:FileReference, errorString:String):Void {
comprovacio_mc.comprovació_txt.htmlText += "<b>Error de seguretat de " + file.name + " error del tipus: " + errorString + "</b><br>";
error();
}
var fileRef:FileReference = new FileReference();
fileRef.addListener(adjuntar);
Delete();
comprovar();
fileRef.browse(allTypes);
};
// Funcion de Envio de Correo
var envioMail:LoadVars = new LoadVars();
var recibirMail:LoadVars = new LoadVars();
function Enviar() {
envioMail.nombre = contingut_mc.imatges_mc.nombre_txt.text;
envioMail.apellidos = contingut_mc.imatges_mc.apellidos_txt.text;
envioMail.email = contingut_mc.imatges_mc.email_txt.text;
envioMail.telefono = contingut_mc.imatges_mc.telefono_txt.text;
envioMail.direccion = contingut_mc.imatges_mc.direccion_txt.text;
envioMail.poblacion = contingut_mc.imatges_mc.poblacion_txt.text;
envioMail.estudios = contingut_mc.imatges_mc.estudios_txt.text;
envioMail.horario = horari_mc.select_txt.text;
envioMail.curriculum = contingut_mc.imatges_mc.curriculum_txt.text;
envioMail.send("includes/curriculum.php");
};
/////////////////////////
import flash.net.FileReference;
var allTypes:Array = new Array();
var imageTypes:Object = new Object();
imageTypes.description = "Archivos permitidos (*.jpg, *.txt, *.pdf, *.doc)";
imageTypes.extension = "*.jpg; *.txt; *.pdf; *.doc";
allTypes.push(imageTypes);
var adjuntar:Object = new Object();
adjuntar.onSelect = function(file:FileReference):Void {
if(!file.upload("direccion de curriculum.php")) {
comprovacio_mc.comprovació_txt.htmlText += "<b>Error al obrir la finestra de selecció.</b><br>";
error();
}
}
adjuntar.onCancel = function(file:FileReference):Void {
comprovacio_mc.comprovació_txt.htmlText += "<b>Cancelat.</b><br>";
}
adjuntar.onOpen = function(file:FileReference):Void {
comprovacio_mc.comprovació_txt.htmlText += "<b>Obrint Arxiu: " + file.name + "</b><br>";
}
adjuntar.onProgress = function(file:FileReference, bytesLoaded:Number, bytesTotal:Number):Void {
comprovacio_mc.comprovació_txt.htmlText += "<b>Carregant Arxiu " + file.name +": " + Math.round(bytesLoaded/1024) + " KB d'un total de " + Math.round(bytesTotal/1024) + " KB</b><br>";
}
adjuntar.onComplete = function(file:FileReference):Void {
comprovacio_mc.comprovació_txt.htmlText += "<b>Carrega completa de " + file.name + "<br>Enviat formulari correctament.</b><br>";
Enviar();
enviado();
}
adjuntar.onHTTPError = function(file:FileReference):Void {
comprovacio_mc.comprovació_txt.htmlText += "<b>Error en la carrega HTTP de " + file.name + "</b><br>";
error();
}
adjuntar.onIOError = function(file:FileReference):Void {
comprovacio_mc.comprovació_txt.htmlText += "<b>Error de conexió IO de " + file.name + "</b><br>";
error();
}
adjuntar.onSecurityError = function(file:FileReference, errorString:String):Void {
comprovacio_mc.comprovació_txt.htmlText += "<b>Error de seguretat de " + file.name + " error del tipus: " + errorString + "</b><br>";
error();
}
var fileRef:FileReference = new FileReference();
fileRef.addListener(adjuntar);
Os pongo ahora el codigo PHP
Código PHP:
<?php
//mediante la clase phpMailer incluimos el php y la ruta de PluginDir que es la misma en este caso
//ja que este archivo se encuentra en la misma ruta, sino deberà canviarse el require y el pluginDir
require "class.phpmailer.php";
$mail = new phpmailer();
$mail->PluginDir = "";
$mail->Mailer = "smtp";
//Host del email que usaremos para el envio, con sus user y pass y autentifcicación smtp
$mail->Host = "mail.******.com";
$mail->SMTPAuth = true;
$mail->Username = "info@*****.com";
$mail->Password = "******";
$mail->From = "info@*****.com";
$mail->FromName = "Suggerències";
//Por defecto 10, se le aumenta para que los correos gratuitos (algo más lentos) puedan llegar
$mail->Timeout = 30;
//aplicamos HTML para visualizar el email en este formato
$mail->IsHTML(true);
//declaramos variables enviadas desde flash
$nombre = $_POST["nombre"];
$apellidos = $_POST["apellidos"];
$email = $_POST["email"];
$telefono = $_POST["telefono"];
$direccion = $_POST["direccion"];
$poblacion = $_POST["poblacion"];
$estudios = $_POST["estudios"];
$horario = $_POST["horario"];
$curriculum = $_POST["curriculum"];
//añadimos el e-mail/s al que enviaremos y el subject y cuerpo que se incluye todos los datos del formulario
$mail->AddAddress("info@*****.com");
$mail->Subject = "Borsa de treball de $nombre";
$mail->Body = "<b>$nombre $apellidos ens envia el seu currículum:<br><br>Nom: $nombre<br>Cognoms: $apellidos<br>E-mail: $email<br>Telèfon: $telefono<br>Direcció: $direccion<br>Població: $poblacion<br> Estudis: $estudios<br>Horari preferent: $horario<br><br>Currículum:</b><br>$curriculum";
$mail->AltBody = "$nombre $apellidos ens envia el seu currículum: Nom: $nombre Cognoms: $apellidos E-mail: $email Telèfon: $telefono Direcció: $direccion Població: $poblacion Estudis: $estudios Horari preferent: $horario Currículum: $curriculum";
//Incluimos un attach de un archivo que recibimos de flash mediante Filedata y filereference
$archivo = $_FILES['Filedata']['tmp_name'];
$archivo_name = "curriculum-".$_FILES['Filedata']['name'];
$mail-> AddAttachment($archivo,$archivo_name);
//Si el mensaje no ha podido ser enviado se realizaran 4 intentos mas como mucho
//para intentar enviar el mensaje, cada intento se hara 5 segundos despues
//del anterior, para ello se usa la funcion sleep
$intentos=1;
while ((!$exito) && ($intentos < 5)) {
sleep(5);
//echo $mail->ErrorInfo;
$exito = $mail->Send();
$intentos=$intentos+1;
}
?>
Espero que alguno lo haya intentado y sepa como solucionarlo y me heche un cable ...
CIAO y mercy por cualquier ayuda!!