Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
boa noite
tenho um formulário feito em flash que envia variáveis para um php, até aqui tudo bem, a questão é que no formulário tenho a opção de anexar um ficheiro. O Problema é que não consigo anexar o ficheiro depois ao email através de php. Ainda por cima o meu servidor usa Smtp , o mesmo deu-me uma class smtp.php que funciona, consigo receber as variáveis do flash só que o anexo nunca vem. A imagem vai para o servidor mas não consegue ser anexada ao email. Por isso gostaria que me ajudassem, já ando nisto à semanas a falar com o servidor e ainda nada.... junto envio o codigo do meu ficheiro mail.php
O servidor é windows
<?php
$dir = "http://smalls.medidacriativa.pt/clientes";
//passar as variaveis do flash para o php
$nome = $_POST['nome'];
$file = $_POST['anexo']; // pego o nome da imagem
$anexo = $dir . $file;
$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'];
// anexar
$tFile = $_POST['tFile'];
$fileatt = $anexo;$fileatt_name = $_POST['anexo'];
$file = fopen($fileatt,"rw");
$data = fread($file,filesize($fileatt));
fclose($file);
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
/ Configuração da classe smtp.php /
include ("smtp.php");
$host = "medidacriativa.pt"; /host do servidor SMTP /
$smtp = new Smtp($host);
$smtp->user = "geral@medidacriativa.pt"; /utilizador do servidor SMTP /
$smtp->pass = "*******"; / password do utilziador do servidor SMTP/
$smtp->debug =true; / activar a autenticação SMTP/
//$smtp->AddAttachment($dir . $fileatt_name);
//Adiciono o Arquivo no e-mail anexando-o
$data = chunk_split(base64_encode($data));
//$anexar= "--{$mime_boundary}\n" ."Content-Type: {$fileatt_type};\n" . " name=\"{$fileatt_name}\"\n" ."Content-Transfer-Encoding:
base64\n\n" . $data . "\n\n" .
//"--{$mime_boundary}--\n";
$anexar.="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" .
$data . "\n\n";
/ envia uma mensagem /
$from= "nuno_alho@netcabo.pt"; / 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:</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> ";
$smtp->Send($to, $from, $subject, $msg, $anexar, $headers);/ faz o envio da mensagem /
echo unlink($arquivo . $fileatt_name);
?>
ficheiro upload.php
<?php
//diretório destino das imagens dentro da pasta da aplicação...
//deve ter permissão para escrita chmod(777)...
$dir = "./clientes/";
//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"]);
?>Carregando comentários...