Jump to content


Photo

Anexo No Email Em Php


  • Faça o login para participar
2 replies to this topic

#1 Diego L.

Diego L.

    Normal

  • Usuários
  • 62 posts
  • Sexo:Masculino
  • Localidade:São Luis - MA

Posted 26/08/2008, 14:50

Pessoal gostaria de saber como limito o tamanho do anexo de um arquivo que enviarei por email em PHP.
meu codigo abaixo;
[codebox]
<?php

//pego os dados enviados pelo formulario
$assunto = 'Arquivo para Impressao';
$nome = $_POST["nome"];
$contato = $_POST["empresa"];
$endereco = $_POST["endereco"];
$bairro = $_POST["bairro"];
$cidade = $_POST["cidade"];
$telefone = $_POST["telefone"];
$email = $_POST["email"];
$numimp = $_POST["numimp"];
$horario = $_POST["horario"];
$dtentrega = $_POST["dtentrega"];
$impressao = $_POST["impressao"];
$encadernamento = $_POST["encadernamento"];
$entrega = $_POST["entrega"];
$texto = $_POST["infos"];
$email_destino = 'webmaster@tricomalliance.com.br';
$email_destino .= 'comercial@tricomalliance.com.br';
$email_destino .= 'suporte@tricomalliance.com.br';
$data = date("d/m/y"); //função para pegar a data de envio do e-mail
$ip = $_SERVER['REMOTE_ADDR']; //função para pegar o ip do usuário
$navegador = $_SERVER['HTTP_USER_AGENT']; //função para pegar o navegador do visitante
$hora = date("H:i"); //para pegar a hora com a função date
$mensagem = "<br><br><b>Empresa/Órgão:</b> $contato <br>";
$mensagem .= "<b>Nome de Contato:</b> $nome <br>";
$mensagem .= "<b>Endereço:</b> $endereco <br>";
$mensagem .= "<b>Bairro:</b> $bairro <br>";
$mensagem .= "<b>Cidade:</b> $cidade <br>";
$mensagem .= "<b>Telefone:</b> $telefone <br>";
$mensagem .= "<b>Email:</b> $email <br>";
$mensagem .= "<b>Número de Impressões:</b> $numimp <br>";
$mensagem .= "<b>Tipo de Impressão:</b> $impressao <br>";
$mensagem .= "<b>Encadernamento:</b> $encadernamento <br>";
$mensagem .= "<b>Entrega Comercial:</b> $entrega <br>";
$mensagem .= "<b>Data de Entrega:</b> $dtentrega<br>";
$mensagem .= "<b>Horário de Entrega:</b> $horario<br>";
$mensagem .= "<b>Observações:</b> $infos <br>";
$mensagem .= "<b>Data:</b> $data <br>";
$mensagem .= "<b>Hora:</b> $hora <br>";
$mensagem .= "<b>Ip:</b> $ip <br>";
$mensagem .= "<b>Navegador:</b> $navegador<br> ";

//formato o campo da mensagem
$mensagem = wordwrap( $mensagem, 50, "
", 1);



$arquivo = isset($_FILES["arquivo"]) ? $_FILES["arquivo"] : FALSE;

if(file_exists($arquivo["tmp_name"]) and !empty($arquivo)){

$fp = fopen($_FILES["arquivo"]["tmp_name"],"rb");
$anexo = fread($fp,filesize($_FILES["arquivo"]["tmp_name"]));
$anexo = base64_encode($anexo);

fclose($fp);

$anexo = chunk_split($anexo);


$boundary = "XYZ-" . date("dmYis") . "-ZYX";

$mens = "--$boundary\n";
$mens .= "Content-Transfer-Encoding: 8bits\n";
$mens .= "Content-Type: text/html; charset=\"ISO-8859-1\"\n\n"; //plain
$mens .= "$mensagem\n";
$mens .= "--$boundary\n";
$mens .= "Content-Type: ".$arquivo["type"]."\n";
$mens .= "Content-Disposition: attachment; filename=\"".$arquivo["name"]."\"\n";
$mens .= "Content-Transfer-Encoding: base64\n\n";
$mens .= "$anexo\n";
$mens .= "--$boundary--\r\n";

$headers = "MIME-Version: 1.0\n";
$headers .= "From: \"$contato\" <$email>\r\n";
$headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"\r\n";
$headers .= "$boundary\n";

//envio o email com o anexo
mail($email_destino,$assunto,$mens,$headers);
?>
<script language="javascript">
alert("Sua requisição foi cadastrada em nosso sistema! Aguarde nosso contato!");
location ="servicos_online.php";
</script>
<?

}

//se nao tiver anexo
else{
?>
<script language="javascript">
alert("Você não adicionou o arquivo! Tente novamente!");
location = "servicos_online.php";
</script>
<?

}

?>
[/codebox]
Jesus quer você meu amado.
Ele morreu por você.
Ele ama você.
Ele é o único digno de toda honra, glória e louvor.
Entregue teu coração a Ele.

#2 rafael_tst

rafael_tst

    Novato no fórum

  • Usuários
  • 19 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP

Posted 26/08/2008, 15:57

Cara:

$max = 10000;// tamanho do arquivo
if( $_FILES['arquivo']['size'] <= $max)
{
// faz o up
}

para testar se um campo FILE foi preenchido use:

if (!empty($_FILES['arquivo]['name']))
{
//resto
}

#3 Diego L.

Diego L.

    Normal

  • Usuários
  • 62 posts
  • Sexo:Masculino
  • Localidade:São Luis - MA

Posted 26/08/2008, 16:50

Amigo não sei onde colocar isso no meu codigo.

Queria uma restrição par arquivos até 4mb, e que se exceder o tamanho o cliente recebesse um alert dizendo que excedeu o tamanho do arquivo.
Jesus quer você meu amado.
Ele morreu por você.
Ele ama você.
Ele é o único digno de toda honra, glória e louvor.
Entregue teu coração a Ele.




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq