Ir para conteúdo
Entre para seguir isso  
juninhogpe

Formulário de e-mail com anexo

Recommended Posts

Boa noite.

 

Pessoal, tenho o formulário abaixo:

<?php 
 
//Pega os dados postados pelo formulário HTML e os coloca em variaveis
if (preg_match('/site.com.br$/', $_SERVER[HTTP_HOST])) {
//substitua na linha acima a aprte locaweb.com.br por seu domínio.
$email_from='email@site.com.br';	// Substitua essa linha pelo seu e-mail@seudominio
}else {
$email_from = "contato@" . $_SERVER[HTTP_HOST];         
//    Na linha acima estamos forçando que o remetente seja 'webmaster@',
// você pode alterar para que o remetente seja, por exemplo, 'contato@'.
}
 
 
if( PATH_SEPARATOR ==';'){ $quebra_linha="\r\n";
 
} elseif (PATH_SEPARATOR==':'){ $quebra_linha="\n";
 
} elseif ( PATH_SEPARATOR!=';' and PATH_SEPARATOR!=':' )  {echo ('Esse script não funcionará corretamente neste servidor, a função PATH_SEPARATOR não retornou o parâmetro esperado.');
 
}
 
//pego os dados enviados pelo formulário 
	$sistema  	 		  = $_POST["sistema"];
	$nome 	  	 		  = $_POST["nome"];
	$endereco 	 		  = $_POST["endereco"];
	$estado   	 		  = $_POST["estado"];
	$cidade   	 		  = $_POST["cidade"];
	$email   	 		  = $_POST["email"];
	$residencial 		  = $_POST["residencial"];
	$comercial   		  = $_POST["comercial"];
	$celular   			  = $_POST["celular"];
	$tipo_estabelecimento = $_POST["tipo_estabelecimento"];
	$comentarios          = $_POST["comentarios"];
	
	$email = 'email@sitecom.br';
	$assunto = 'Orçamento';
	
	//formato o campo da mensagem 
	$mensagem = wordwrap( $mensagem, 50, "<br>", 1); 
 
//valido os emails 
if (!preg_match("^([0-9,a-z,A-Z]+)([.,_]([0-9,a-z,A-Z]+))*[@]([0-9,a-z,A-Z]+)([.,_,-]([0-9,a-z,A-Z]+))*[.]([0-9,a-z,A-Z]){2}([0-9,a-z,A-Z])?$^", $email)){ 
 
echo"<center>Digite um email válido</center>"; 
echo "<center><a href=\"javascript:history.go(-1)\">Voltar</center></a>"; 
exit; 
 
} 
 
$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" . $quebra_linha . ""; 
$mens .= "Content-Transfer-Encoding: 8bits" . $quebra_linha . ""; 
$mens .= "Content-Type: text/html; charset=\"utf-8\"" . $quebra_linha . "" . $quebra_linha . ""; 
$mens .= "Tipo de sistema: $sistema" . $quebra_linha . ""; 
$mens .= "<br>Nome: $nome" . $quebra_linha . ""; 
$mens .= "<br>Endereço: $endereco" . $quebra_linha . ""; 
$mens .= "<br>Estado: $estado" . $quebra_linha . ""; 
$mens .= "<br>Cidade: $cidade" . $quebra_linha . "";
$mens .= "<br>E-mail: $email" . $quebra_linha . ""; 
$mens .= "<br>Telefone Residencial: $residencial" . $quebra_linha . ""; 
$mens .= "<br>Telefone Comercial: $comercial" . $quebra_linha . ""; 
$mens .= "<br>Telefone Celular: $celular" . $quebra_linha . "";  
$mens .= "<br>Tipo de Estabelecimento: $tipo_estabelecimento" . $quebra_linha . "";  
$mens .= "<br>Comentários: $comentarios" . $quebra_linha . "";   
$mens .= "$mensagem" . $quebra_linha . ""; 
$mens .= "--$boundary" . $quebra_linha . ""; 
$mens .= "Content-Type: ".$arquivo["type"]."" . $quebra_linha . ""; 
$mens .= "Content-Disposition: attachment; filename=\"".$arquivo["name"]."\"" . $quebra_linha . ""; 
$mens .= "Content-Transfer-Encoding: base64" . $quebra_linha . "" . $quebra_linha . ""; 
$mens .= "$anexo" . $quebra_linha . ""; 
$mens .= "--$boundary--" . $quebra_linha . ""; 
 
$headers = "MIME-Version: 1.0" . $quebra_linha . ""; 
$headers .= "From: $email_from " . $quebra_linha . ""; 
$headers .= "Return-Path: $email_from " . $quebra_linha . ""; 
$headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"" . $quebra_linha . ""; 
$headers .= "$boundary" . $quebra_linha . ""; 
 
//envio o email com o anexo 
mail($email,$assunto,$mens,$headers, "-r".$email_from); 
 
//echo"Email enviado com Sucesso!"; 
header('Location: orcamento_enviado.php');
 
} 
 
//se nao tiver anexo 
else{ 
 


$mens .= "Tipo de sistema: $sistema" . $quebra_linha . ""; 
$mens .= "<br>Nome: $nome" . $quebra_linha . ""; 
$mens .= "<br>Endereço: $endereco" . $quebra_linha . ""; 
$mens .= "<br>Estado: $estado" . $quebra_linha . ""; 
$mens .= "<br>Cidade: $cidade" . $quebra_linha . "";
$mens .= "<br>E-mail: $email" . $quebra_linha . ""; 
$mens .= "<br>Telefone Residencial: $residencial" . $quebra_linha . ""; 
$mens .= "<br>Telefone Comercial: $comercial" . $quebra_linha . ""; 
$mens .= "<br>Telefone Celular: $celular" . $quebra_linha . "";  
$mens .= "<br>Tipo de Estabelecimento: $tipo_estabelecimento" . $quebra_linha . "";  
$mens .= "<br>Comentários: $comentarios" . $quebra_linha . "";   
$mens .= "$mensagem" . $quebra_linha . ""; 


$headers = "MIME-Version: 1.0" . $quebra_linha . ""; 
$headers .= "Content-type: text/html; charset=utf-8" . $quebra_linha . ""; 
$headers .= "From: $email_from " . $quebra_linha . ""; 
$headers .= "Return-Path: $email_from " . $quebra_linha . ""; 
 
//envia o email sem anexo 
mail($email,$assunto,$mens,$headers, "-r".$email_from); 
 
 
//echo"Email enviado com Sucesso!"; 
header('Location: orcamento_enviado.php');
} 
 
?>

O mesmo está funcionando corretamente, a questão é que quando envio e-mail com anexo a acentuação vem toda errada.

 

O que vocês acham que posso fazer para corrigir?

 

Agradeço desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
Entre para seguir isso  

  • Conteúdo Similar

    • Por VCastilho
      Bom Dia

      Desenvolvi um filtro HTML e estou com dificuldades em criar o JavaScript para o funcionamento do mesmo, poderiam em ajudar a criar esse JS?
      Segue o código:
       
      <div id = "filtro"> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <style disabled> #filtro { border-style:double; } #button1 { width: 120px; position: inherit; right: 10px; background-color: #e00505; font-size: 12px; FLOAT: right } h4 { font-size: 18px; border-style: inset; } select { border: 1px solid #000; box-sizing: border-box; width: 124px; border-radius: 5px; height: 25px; padding: 3px; } section label { width: calc(100% / 4); color: red; text-align: center; } section { display: flex; flex-wrap: wrap; } h4/ { border-style:double; } @media screen and (max-width:768px) { section label { margin-bottom: 20px; width: 100%; } } </style> <h4 style="text-align: center;">Personalize o seu Kit de Segurança</h4><br><br> <form action="#" id="form"> <section> <label> <b> Tipo do seu Kit </b><br> <select name="speed" id="speed" style=" "> <option desable>Selecione</option> <option>Residencial</option> <option>Comercial</option> </select> </label> <label> <b>Qualidade de Seu Kit</b><br> <select name="files" id="files" style=" "> <option desable> Selecione </option> <option value="HD">HD</option> <option value="Full HD">Full HD</option> <option value="Analógica">Analógica</option> </select> </label> <label> <b> Quantidade de Câmeras </b><br> <select name="number" id="number" style=" "> <option desable> Selecione </option> <option>1 Câmera</option> <option>2 Câmeras</option> <option>3 Câmeras</option> <option>4 Câmeras</option> <option>5 Câmeras</option> <option>6 Câmeras</option> <option>7 Câmeras</option> <option>8 Câmeras</option> <option>9 Câmeras</option> <option>10 Câmeras</option> <option>11 Câmeras</option> <option>12 Câmeras</option> <option>13 Câmeras</option> <option>14 Câmeras</option> <option>15 Câmeras</option> <option>16 Câmeras</option> </select> </label> <label> <b> Selecione a Marca </b><br> <select name="salutation" id="salutation"> <option desable selected>Selecione</option> <option>Intelbras</option> <option>Hikvision</option> <option>Outras</option> </select> </label> </section> <BR> <BR> </form> </div> <br> <br> <button class="kd-filter-button" id="button1">Ver resultados</button> Seria bom, se possível o botão funcionar fora da tag "form" pois para personalizar fica melhor

       
    • Por explosivemineyt
      Bom dia,
      Eu encontro-me a tentar realizar um formulário login do tipo google, mas apesar de estar a funcionar, por vezes quando recarrego a pagina aparece assim e tenho que carregar na pagina ou no campo ou outro local qualquer para atualizar.
       
      Gostaria de conseguir corrijir mas apesar de pesquisar não encontro como corrijir.
       
      o meu código html: 
      Meu código css: 
      Meu bootstrap.css(ficheiro muito grande, posso disponibilizar por um drive ou algo do genero) bootstrap versão v4.0.0
       




    • Por cleitonkloc
      Olá, estou desenvolvendo um banco de dados para coletar informações e relatar para a Diretoria as despesas e custos dos veículos.
      Estou um pouco enferrujado, devido minha área atualmente ser a contabilidade.
       
      Preciso que quando informado a Placa do veículo ao descer para o próximo input seja informado o tipo de combustível que aquele veículo utiliza (variando entre Gasolina e Diesel) puxando do cadastro do veículo.
      Por exemplo: Selecionei a placa MMA5554 e ao descer para o próximo input ou na hora que selecionar a placa ele busca no bando de dados e informa o tipo de combustível (para evitar erro no lançamento e facilitar o registro).
      <label>VEÍCULO:</label><br/> <select class="campo_digitar" name="veiculo"> <option>-- Selecione --</option> <?php $consultasql = "SELECT * FROM kloc_panelcontrol.veiculo order by id "; $lista_empresa = $con->query($consultasql); while ($dados = $lista_empresa->fetch()) { ?> <option value="<?php echo $dados['id'];?>"><?php echo $dados['placa'];?></option> <?php } ?> </select><br/> <label>TIPO DE COMBUSTÍVEL:</label><br/>  
    • Por Gustavo2503
      Eu preciso de um link para abrir um arquivo em decodificado em base64, eu fiz o link mas quando eu abro o link ele não aparece nada, o título da página fica "Sem título" e a página fica branca, vazia. E quando eu clico na URL e dou ENTER, ele aparece o meu arquivo normal. O link está assim:
      <a target="_blank" href="data:application/pdf;base64,MEU_ARQUIVO_BASE64">Arquivo</a> Como arrumar isso?
    • Por yeahboy
      Quero que ao clicar em "Enviar consulta", execute um script .php que envie os dados no formulário para um .txt
      Eu mandaria pra db, mas ainda não aprendi, minha ideia com isso é apenas aprendizado em php, com testes locais.

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.