Faq - Perguntas e Respostas  Faq    Mapa do Site  Mapa do Site      Fale Conosco
Acesso ao painel de controle cPanel    Acesso ao webmail Webmail    Acesso ao Web Host Manager Web Host Manager
Português BR
Página Principal
 
Assinatura Desenvolvimento Empresa Hospedagem Loja Virtual Registro Revenda Suporte
Principal >> Suporte >> Faq Ver

Faq - Perguntas e Respostas
Assunto:

Como enviar um formulário por e-mail com PHP com arquivo em anexo ?

A função mail do PHP responsável pelo envio de e-mails utilizando páginas em PHP está ativa em todas as contas de hospedagem, para utilizá-la siga os passos abaixo:

1) Copie o primeiro modelo abaixo e crie uma página em HTML com o nome desejado para o formulário (exemplo: formmail.html) e faça o upload no diretório de sua preferência.

2) Copie o segundo modelo abaixo e crie uma página em PHP (.php) com o nome de "formulario.php".

3) Substitua na página em PHP a variável "seu_email@seu_dominio.com.br" com o seu endereço de e-mail que receberá os dados do formulário enviado.


1° - Página em HTML do Formulário para Contato

Copie o código abaixo e cole dentro de sua página em HTML, salve a página com o nome que desejar.

Caso deseje e possua conhecimentos de HTML, inclua, exclua ou altere os campos do formulário. É fundamental que o action do formulário seja mantido com "formulario.php".

<html>
<body>
<form action="formulario.php" method="POST">
Seu Nome : <input type="text" name="nome"><br>
Seu E-mail : <input type="text" name="email"><br>
Comentários : <textarea name="comentarios"></textarea><br>
<input type="submit" value="Enviar">
</form>
</body>
</html>


2º - Página em PHP para Envio de E-mail e Exibição da Mensagem de Confirmação

1) Copie o código abaixo e cole dentro de sua página em PHP, salve a página com o nome de "formulario.php".

2) Caso deseje e possua conhecimentos de PHP, altere a mensagem de confirmação "Seu e-mail foi enviado com sucesso. Obrigado" para a mensagem que desejar.

3) Não se esqueça de substituir a variável "seu_email@seu_dominio.com.br" com o seu endereço de e-mail que receberá os dados do formulário enviado.

<?PHP

//coloque seu email abaixo
$para = "seu_email@seu_dominio.com.br";

//Pega os dados enviados pelo formulario
$mensagem = "Mensagem enviada em ".date("d/m/Y").", os dados seguem abaixo:\n";

//Este loop coloca todos os campos do formulário na mensagem do e-mail a ser enviado
while(list($campo, $valor) = each($HTTP_POST_VARS)) {
$mensagem .= ucwords($campo).": ".$valor."\n";
}

$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/plain; 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: \"$nome\" <$email_from>\r\n";
$headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"\r\n";
$headers .= "$boundary\n";

//envio o email com o anexo
mail ($para, $assunto, $mens, $headers);

echo "Seu e-mail foi enviado com sucesso. Obrigado";
}

//se não tiver anexo
else {
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/plainl; charset=iso-8859-1\r\n";
$headers .= "From: \"$nome\" <$email_from>\r\n";

//envia o email sem anexo
mail ($para, $assunto, $mensagem, $headers);
echo "Seu e-mail foi enviado com sucesso. Obrigado";
}
?>


Dê sua nota: Complete nosso Faq sugerindo uma pergunta não localizada !
Enter Web ® Todos os Direitos Reservados - Código de Defesa do Consumidor | Contrato | Política de Privacidade | Política de Uso