Thiago de Oliveira Cruz 21 Denunciar post Postado Janeiro 28, 2009 basta fazer isso System.useCodepage = true; stop (); var pgOBJ:LoadVars = new LoadVars; var enviarOBJ:LoadVars = new LoadVars; enviar.onPress = function(){ enviarOBJ.nome = nome.text; enviarOBJ.telefone = telefone.text; enviarOBJ.email = email.text; enviarOBJ.morada = morada.text; enviarOBJ.cp = cp.text; enviarOBJ.nif = nif.text; enviarOBJ.pagamento = pagamento.value; nextFrame(); } Tens de colocar a var enviarOBJ fora da função ai ela passa a valer em qualquer frame Abraços Compartilhar este post Link para o post Compartilhar em outros sites
mc2008 0 Denunciar post Postado Janeiro 29, 2009 boas ja tenho o formulario praticamente a funcionar , mas precisava de duas coisinhas: como consigo fazer com que o meu formulario envie email com SMTP autenticado ? ja procurei algumas coisas na net mas nao da ja consegui criar a função browse no flash, mas agora queria que o ficheiro ao ser carregado me fosse enviado depois em anexo por email, será possível? e pronto com estas duas coisas dou por terminado o meu formulario obrigado e fica bem Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Janeiro 29, 2009 Como assim o ficheiro fosse enviado junto por email??? Queres que o form em swf vá preenchido para o email?? Autentificação do smtp eu já escrevi ali em cima como é que se faz :P // Modifique a baixo para autenticar no servidor smtp coloque seu host de e-mail username e password $host = "mail.exemplo.com"; $username = "smtp_username"; $password = "smtp_password"; //Aqui é a autentificação propriamente dita $smtp = Mail::factory('smtp', array ('host' => $host, 'auth' => true, 'username' => $username, 'password' => $password)); //Aqui ele ao enviar o e-mail passa pelo smtp $mail = $smtp->send($recipient, $subject, $msg, $mailheaders); Deve funcionar não é de certo, pelo que li no tutorial é por ai o comando e como eu não tenho nenhum servidor pra testar tal funcionalidade vai ter de ficar por sua conta e risco e testes =(... Espero ter ajudado Abraços Compartilhar este post Link para o post Compartilhar em outros sites
mc2008 0 Denunciar post Postado Janeiro 29, 2009 bem nao consegui autenticar, tenho que ver com o servidor... em relação ao outro ponto, a ideia é fazer um upload de um ficheiro para o formulario e quando carregar no botao enviar formulario, receber todo o form mais o ficheiro. a forma de ir buscar o ficheiro ao pc já a fiz e esta a funcionar. agora é tentar anexar tudo para ir no mesmo form fica bem Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Janeiro 29, 2009 Bom sugiro que a parte de php... relacionada a autentificação e envio de arquivos... você pergunte na parte do forum de php Pois ai começa a fugir um pouco dos meus conhecimentos :( Apesar de entender bem php e tals eu nunca tive de fazer algo do genero rs :) Mas vou procurar a respeito e quando descobrir vou postar aqui Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Janeiro 29, 2009 Olá mc2008, Depois de muito estudo descobri isso: 1° Vai ter de criar um php no qual vai colocar a figura em um lugar dentro de seu servidor. 2° Ao termino dele colocar no seu servidor você vai dar o caminho para o e-mail do arquivo que você carregou e enviar... 3° Ao terminar de enviar fazer uma função para deletar o arquivo que foi criado no servidor. Acredito que seja isso Se não conseguir eu faço uma função aqui e coloco para você Abraços Compartilhar este post Link para o post Compartilhar em outros sites
mc2008 0 Denunciar post Postado Janeiro 29, 2009 olarelas já consegui resolver o problema do smtp :) perguntei ao servidor e já me ajudaram, quando terminar o formulário coloco aqui os codigos para quem precisar em relação a isso eu tenho este codigo no flash : //importando a classe necessária. flash.net.FileReference import flash.net.FileReference; // //definindo botões, movies, objetos e etc... var btEnviar:MovieClip; var btBrowse:MovieClip; var tFile:TextField; var mcStatus:MovieClip; var objUpload:Object = new Object(); var arquivosPermitidos:Array = new Array(); // //criando a instancia da classe FileReference, a nova classe responsável pelo Upload... var frUpload:FileReference = new FileReference(); // function initUpload(Void):Void { //escondendo mcStatus, resposável por dizer ao user em que parte está o processo... mcStatus._visible = false; //adicionando a lista de extensões permitidas para o Seleção... //só imagens .jpg... arquivosPermitidos[0] = {description:"Imagens (*.jpg)", extension:"*.jpg; *.jpeg"}; //zip arquivosPermitidos[1] = {description:"Imagens (*.zip)", extension:"*.zip; *.rar"}; //ação de escolha de um arquivo na caixa de browse... objUpload.onSelect = function(f:FileReference):Void { tFile.text = f.name; } //quando o arquivo for enviado totalmente ao servidor e estar Completo, retornará neste Método... objUpload.onComplete = function(f:FileReference):Void { //alterando mcStatus... mcStatus.gotoAndStop(2); mcStatus._visible = true; } //caso aprensente algum erro no envio... objUpload.onHTTPError = objUpload.onIOError = function() { //alterando mcStatus... mcStatus.gotoAndStop(3); mcStatus._visible = true; } //adicionando as ações de listener ao objeto de Upload... frUpload.addListener(objUpload); // //ao clicar no botão abrir a caixa de seleção btBrowse.onRelease = function(Void):Void { //método para abrir a caixa de seleção na classe FileReference... //FileReference.browse(arquivosPermitidos), os isso é opcional, caso queiram liberar todos os arquivos //é so não utilizar do parametro... frUpload.browse(arquivosPermitidos); } // //ao clicar no botão enviar, a classe joga o arquivo em um multipart para uma linguagens server-side qualquer, em nosso caso vamos utilizar PHP. btEnviar.onRelease = function(Void):Void { //alterando mcStatus... mcStatus.gotoAndStop(1); mcStatus._visible = true; //método para enviar o arquivo em multipart ao servidor... FileReference.upload(seuEndereço)... //frUpload.upload("upload.php"); } } // //iniciando nosso projeto... initUpload(); depois criei o tal php que diz upload.php : <?php //include ("mail.php"); //diretório destino das imagens dentro da pasta da aplicação... //deve ter permissão para escrita chmod(777)... $dir = "imagens/"; //recebendo o arquivo multipart vindo do flash... $file = $_FILES["Filedata"]; //finalizando o upload e criando apartir do arquivo temp, multipart, um novo arquivo //em nossa pasta de destino. O echo serve para dizer ao flash se deu certo ou não... echo move_uploaded_file($file["tmp_name"], $dir . "/" . $file["name"]); ?> a grande questão é que ele deveria enviar o ficheiro para o servidor mas não o faz outra coisinha que para ti deve ser facil ..como consigo atraves de actionscript entrar num moviclip em determinada frame? inte Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Janeiro 29, 2009 Seguinte.... Eu fiz o que você queria....... Está nesse link! CLIQUE AQUI Modifique de acordo com o que você precisa! Abraços E boa sorte Compartilhar este post Link para o post Compartilhar em outros sites
mc2008 0 Denunciar post Postado Janeiro 30, 2009 ois esse teu form esta a funcionar quase perfeito, so que o ficheiro que vem em anexo ao abrir diz que nao pode pq está vazio. de resto esta fixolas fica bem Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Janeiro 30, 2009 Bom vou explicar meus phps então porque acho que deves ter feito algo de errado :) upload é igual ao teu e do tutorial iMasters :) pra upload de arquivos hehehe <?php //diretório destino das imagens dentro da pasta da aplicação... //deve ter permissão para escrita chmod(777)... $dir = "./imagens/"; //recebendo o arquivo multipart vindo do flash... $file = $_FILES["Filedata"]; //finalizando o upload e criando apartir do arquivo temp, multipart, um novo arquivo // em nossa pasta de destino. O echo serve para dizer ao flash se deu certo ou não... echo move_uploaded_file($file["tmp_name"], $dir . "/" . $file["name"]); ?> php de mandar e-mail <?php $dir = "./imagens/"; $nome = $_POST['nome']; $file = $_POST['anexo']; $anexo = $dir . "/" . $file; $fileatt = $anexo; $fileatt_type = "application/octet-stream"; // File Type $fileatt_name = $_POST['anexo']; // Filename that will be used for the file as the attachment from Flash variables $from = $_POST['email']; $email_from = $from; // Who the email is from $email_subject = "Info From Website"; // The Subject of the email $email_txt = $_POST['mensagem']; // Message that the email has in it $email_to = "seuemail@gmail.com"; // Who the email is too $headers = "From: ".$email_from; $file = fopen($fileatt,'rb'); $data = fread($file,filesize($fileatt)); fclose($file); $semi_rand = md5(time()); $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; $headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\""; $email_message .= "Mensagem: $email_txt <br>" . "\n\n" . "--{$mime_boundary}\n" . "Content-Type:text/html; charset=\"iso-8859-1\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . "Mensagem: $email_txt\n\n" . "\n\n"; $email_message .= "<br><br>" . "Nome: $nome" . "\n\n" . "--{$mime_boundary}\n" . "Content-Type:text/html; charset=\"iso-8859-1\"\n" . "Content-Transfer-Encoding: 7bit\n\n"; $email_message .= "E-mail: $from <br>" . "\n\n" . "--{$mime_boundary}\n" . "Content-Type:text/html; charset=\"iso-8859-1\"\n" . "Content-Transfer-Encoding: 7bit\n\n"; $data = chunk_split(base64_encode($data)); $email_message .= "--{$mime_boundary}\n" . "Content-Type: {$fileatt_type};\n" . " name=\"{$fileatt_name}\"\n" . //"Content-Disposition: attachment;\n" . //" filename=\"{$fileatt_name}\"\n" . "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n" . "--{$mime_boundary}--\n"; $ok = @mail($email_to, $email_subject, $email_message, $headers); echo unlink($dir . "/" . $file["name"]); // Deleta o arquivo hospedado no servidor que foi mandado via e-mail ?> Bom meu código de email é o seguinte $dir = "./imagens/"; // digo o diretorio de onde está a imagem $nome = $_POST['nome']; // pego o nome do cliente $file = $_POST['anexo']; // pego o nome da imagem $anexo = $dir . "/" . $file; // digo onde está a imagem que vai ser anexada $fileatt = $anexo; // copio para a variavel que vai anexar ela $fileatt_type = "application/octet-stream"; // Tipo de arquivo que vai ser anexado $fileatt_name = $_POST['anexo']; // Nome do arquivo que vai ser anexado no e-mail $from = $_POST['email']; // E-mail do cliente $email_from = $from; // Coloco o email na variavel de quem é o e-mail $email_subject = "Info From Website"; // Do o nome do assunto da mensagem $email_txt = $_POST['mensagem']; // Coloco o texto da mensagem do formulário na variavel que vai ser enviada como texto no e-mail $email_to = "berseck@teste.com"; // Aqui coloco meu e-mail que vai ser enviado com o anexo <--- esse e-mail é ficticio não tente me contactar por ele $headers = "From: ".$email_from; // Aqui digo para o cabeçalio do e-mail de quem é o e-mail $file = fopen($fileatt,'rb'); //Abro o arquivo que vai ser colocado no e-mail $data = fread($file,filesize($fileatt)); //Vejo o tamanho do arquivo fclose($file); //Fecho o arquivo //Adiciono o sistema mime_boundary para o metodo do e-mail $semi_rand = md5(time()); $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; $headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\""; //Aqui eu coloco a mensagem do formulário no texto do e-mail $email_message .= "Mensagem: $email_txt <br>" . "\n\n" . "--{$mime_boundary}\n" . "Content-Type:text/html; charset=\"iso-8859-1\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . "Mensagem: $email_txt\n\n" . "\n\n"; //Aqui eu colocoo o nome da pessoa do formulário no texto do e-mail $email_message .= "<br><br>" . "Nome: $nome" . "\n\n" . "--{$mime_boundary}\n" . "Content-Type:text/html; charset=\"iso-8859-1\"\n" . "Content-Transfer-Encoding: 7bit\n\n"; //Aqui eu coloco o e-mail que foi utilizado para preencher o formulário $email_message .= "E-mail: $from <br>" . "\n\n" . "--{$mime_boundary}\n" . "Content-Type:text/html; charset=\"iso-8859-1\"\n" . "Content-Transfer-Encoding: 7bit\n\n"; //Adiciono o Arquivo no e-mail anexando-o $data = chunk_split(base64_encode($data)); $email_message .= "--{$mime_boundary}\n" . "Content-Type: {$fileatt_type};\n" . " name=\"{$fileatt_name}\"\n" . //"Content-Disposition: attachment;\n" . //" filename=\"{$fileatt_name}\"\n" . "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n" . "--{$mime_boundary}--\n"; //Depois de finalizar tudo eu mando o e-mail $ok = @mail($email_to, $email_subject, $email_message, $headers); //Após o termino de mandar o e-mail eu deleto o arquivo do servidor! echo unlink($dir . "/" . $file["name"]); //NÃO PODE EM IPOTESE NENHUMA COLOCAR NO COMEÇO DO CODIGO ESSA LINHA ELA SEMPRE DEVE VIR DEPOIS DO ENVIO DO E-MAIL Se tiver alguma duvida posta ae que eu ajudo :D Abraços ;) Compartilhar este post Link para o post Compartilhar em outros sites
mc2008 0 Denunciar post Postado Janeiro 30, 2009 ois a grande questão é que tive que mudar o codigo por causa da autenticação no servidor, assim funciona na perfeição o envio ,mas nao vem ficheiro anexado, vou ter que analisar o teu codigo a fundo <?php $dir = "/imagens/"; $nome = $_POST['nome']; $email = $_POST['email']; $telefone = $_POST['telefone']; $morada = $_POST['morada']; $cp = $_POST['cp']; $nif = $_POST['nif']; $pagamento = $_POST['pagamento']; $dominio_extensao = $_POST['dominio_extensao']; $dominio = $_POST['dominio']; $qx=$_POST['qx']; $qy=$_POST['qy']; $lx=$_POST['lx']; $ly=$_POST['ly']; $cx=$_POST['cx']; $cy=$_POST['cy']; $efeitos= $_POST['efeitos']; $tFile = $_POST['tFile']; $anexo = $dir . "/" . $file; $fileatt = $anexo; $fileatt_type = "application/octet-stream"; // File Type $fileatt_name = $_POST['anexo']; // Filename that will be used for the file as the attachment from Flash variables $file = fopen($fileatt,'rb'); $data = fread($file,filesize($fileatt)); fclose($file); $semi_rand = md5(time()); $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; $data = chunk_split(base64_encode($data)); $msg = "--{$mime_boundary}\n" . "Content-Type: {$fileatt_type};\n" . " name=\"{$fileatt_name}\"\n" . //"Content-Disposition: attachment;\n" . //" filename=\"{$fileatt_name}\"\n" . "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n" . "--{$mime_boundary}--\n"; /* Configuração da classe smtp.php */ include ("smtp.php"); $host = "medidacriativa.pt"; /*host do servidor SMTP */ $smtp = new Smtp($host); $smtp->user = "**********t"; /*utilizador do servidor SMTP */ $smtp->pass = "******"; /* password do utilziador do servidor SMTP*/ $smtp->debug =true; /* activar a autenticação SMTP*/ /* envia uma mensagem */ $from= "*********"; /* o seu e-mail */ $to = "geral@medidacriativa.pt"; /* o e-mail de destino*/ $subject = "Encomenda de 1 SmallS"; /* assunto da mensagem */ $msg = "<strong>nome :</strong> $nome <br> <strong>E-mail:</strong> $email <br> <strong>Telefone:</strong> $telefone <br> <strong>Morada: </strong>$morada <br> <strong>Código Postal:</strong> $cp <br> <strong>Nif:</strong> $nif <br> <strong>Pagamento:</strong> $pagamento <br> <strong>Dominio_extensão:</strong> $dominio_extensao <br> <strong>Dominio:</strong> $dominio <br> <strong>qx:</strong> $qx<br> <strong>qy:</strong> $qy<br> <strong>lx:</strong> $lx<br> <strong>ly:</strong> $ly<br> <strong>cx:</strong> $cx <br> <strong>cy:</strong> $cy<br> <strong>Efeitos:</strong> $efeitos <br>"; $smtp->Send($to, $from, $subject, $msg);/* faz o envio da mensagem */ echo unlink($dir . "/" . $file["name"]); ?> obrigado pelas ajudas fica bem Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Janeiro 30, 2009 Tente retirar a ultima linha... Para ver se vai com o anexo E se descobrires coloca ai pra todo mundo fica sabendo como que foi resolvido ;) Abraços Compartilhar este post Link para o post Compartilhar em outros sites
mc2008 0 Denunciar post Postado Janeiro 30, 2009 ois já tentaste usar o teu formulario ? entao experimenta aqui e verifica se o teu ficheiro nao abre. --> Formulario estou a tentar perceber do que é, mas na verdade ele nunca coloca ficheiro nenhum no servidor. falta so isto para fecharmos fica bem Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Janeiro 30, 2009 Aqui abriu e foi 2 e-mails... 1 sem anexo e o outro eu anexei os dados... Chegou ai? Abraços Compartilhar este post Link para o post Compartilhar em outros sites
mc2008 0 Denunciar post Postado Fevereiro 19, 2009 Caros amigos ao fim de quase 1 mês consegui resolver o meu problema com o formulário. agora sim já recebo qualquer ficheiro enviado pelo flash. fica aqui o codigo para quem precisar fiquem bem e obrigado a todos <?php //variaveis vindas do flash $email = $_POST['email']; $telefone = $_POST['telefone']; $morada = $_POST['morada']; $cp = $_POST['cp']; $nif = $_POST['nif']; $pagamento = $_POST['pagamento']; $dominio_extensao = $_POST['dominio_extensao']; $dominio = $_POST['dominio']; $qx=$_POST['qx']; $qy=$_POST['qy']; $lx=$_POST['lx']; $ly=$_POST['ly']; $cx=$_POST['cx']; $cy=$_POST['cy']; $cor=$_POST['cor']; $efeitos= $_POST['efeitos']; $file= $_POST['file']; $anexo = $_POST ['anexo']; // anexar ficheiro $fileatt = "C:\Inetpub\vhosts\medidacriativa.pt\httpdocs\smallS\clientes\\".$anexo; // pasta de destino e variável do flash que envia o ficheiro $fileatt_type = "application/octet-stream"; // File Type $fileatt_name = $anexo; // nome do ficheiro // dados para envio $email_from = "info@medidacriativa.com"; // Who the email is from $email_subject = "Encomenda de 1 smallS"; // The Subject of the email $email_txt = "encomenda"; // Message that the email has in it $email_to = "geral@medidacriativa.pt"; // Who the email is too $headers = "From: ".$email; // adicionar ficheiro ao email $file = fopen($fileatt,'rb'); $data = fread($file,filesize($fileatt)); fclose($file); $semi_rand = md5(time()); $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; // enviar os campos $headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\""; $email_message= "<strong>nome :</strong> $nome <br> <strong>E-mail:</strong> $email <br> <strong>Telefone:</strong> $telefone <br> <strong>Morada: </strong>$morada <br> <strong>Código Postal:</strong> $cp <br> <strong>Nif:</strong> $nif <br> <strong>Pagamento:</strong> $pagamento <br> <strong>Dominio:</strong> $dominio <strong>Dominio_extensão:</strong> $dominio_extensao <br> <strong>qx:</strong> $qx<br> <strong>qy:</strong> $qy<br> <strong>lx:</strong> $lx<br> <strong>ly:</strong> $ly<br> <strong>cx:</strong> $cx <br> <strong>cy:</strong> $cy<br> <strong>Efeitos:</strong> $efeitos <br> <strong> Cor: </strong> $cor <br> <strong> anexo: </strong> $anexo"; $email_message .= "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary}\n" . "Content-Type:text/html; charset=\"iso-8859-1\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . $email_message . "\n\n"; $data = chunk_split(base64_encode($data)); $email_message .= "--{$mime_boundary}\n" . "Content-Type: {$fileatt_type};\n" . " name=\"{$fileatt_name}\"\n" . //"Content-Disposition: attachment;\n" . //" filename=\"{$fileatt_name}\"\n" . "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n" . "--{$mime_boundary}--\n"; //apagar ficheiro do servidor unlink($fileatt); // enviar ficheiro $ok = @mail($email_to, $email_subject, $email_message, $headers); ?> Compartilhar este post Link para o post Compartilhar em outros sites