Olá, bom dia.
Tenho um formulário que envia as informações direto para o e-mail, implementei um campo para anexos, mas só recebo um anexo, gostaria de saber como enviar mais de um anexo por este mesmo input, se possível. (o input já recebe mais de um arquivo)
Obrigada.
segue o código funcionando. com apenas um anexo.
<?php
/* Valores recebidos do formulário */
$arquivo = $_FILES['arquivo'];
$nome = $_POST['nomedoolicitante'];
$email = $_POST['emailsolitante'];
$descricao = $_POST['descriçõesInstitucional'];
$consideracoes = $_POST['consideraçõesInstitucional'];
$to = xx';
$from = "xx"; // Deve ser um email válido do domínio
/* Cabeçalho da mensagem */
$boundary = "XYZ-" . date("dmYis") . "-ZYX";
$headers = "MIME-Version: 1.0\n";
$headers.= "From: $nome <$email> \n";
$headers.= "Content-type: multipart/mixed; boundary=\"$boundary\"\r\n";
$headers.= "$boundary\n";
/* Layout da mensagem */
$subject = "Contato pelo site ";
$corpo_mensagem = "
<html>
<p><b>Referente ao Solicitante: </b></p>
<p><b>Nome: </b>$nome</p>
<p><b>E-mail: </b>$email</p>
<p><b>Referente ao Material Institucioinal: </b></p>
<p><b>Descrição: </b>$descricao</p>
<p><b>Considerações: </b>$consideracoes</p>
</html>
";
if(file_exists($arquivo["tmp_name"]) and !empty($arquivo)){
$fp = fopen($_FILES["arquivo"]["tmp_name"],"rb"); // Abri o arquivo enviado.
$anexo = fread($fp,filesize($_FILES["arquivo"]["tmp_name"])); // Le o arquivo aberto na linha anterior
$anexo = base64_encode($anexo); // Codifica os dados com MIME para o e-mail
fclose($fp); // Fecha o arquivo aberto anteriormente
$anexo = chunk_split($anexo); // Divide a variável do arquivo em pequenos pedaços para poder enviar
$mensagem = "--$boundary\n"; // Nas linhas abaixo possuem os parâmetros de formatação e codificação, juntamente com a inclusão do arquivo anexado no corpo da mensagem
$mensagem.= "Content-Transfer-Encoding: 8bits\n";
$mensagem.= "Content-Type: text/html; charset=\"utf-8\"\n\n";
$mensagem.= "$corpo_mensagem\n";
$mensagem.= "--$boundary\n";
$mensagem.= "Content-Type: ".$arquivo["type"]."\n";
$mensagem.= "Content-Disposition: attachment; filename=\"".$arquivo["name"]."\"\n";
$mensagem.= "Content-Transfer-Encoding: base64\n\n";
$mensagem.= "$anexo\n";
$mensagem.= "--$boundary--\r\n";
}
else // Caso não tenha anexo
{
$mensagem = "--$boundary\n";
$mensagem.= "Content-Transfer-Encoding: 8bits\n";
$mensagem.= "Content-Type: text/html; charset=\"utf-8\"\n\n";
$mensagem.= "$corpo_mensagem\n";
}
/* Função que envia a mensagem */
if(mail($to, $subject, $mensagem, $headers))
{
echo "<meta http-equiv='refresh' content='10;URL=../OBRIGADO!.html'>";
}
else
{
echo "<br><br><center><b><font color='red'>Ocorreu um erro ao enviar a mensagem!";
}
?>