| |
![]() |
|
Faq - Perguntas e Respostas 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"; } ?> |
Enter Web ® Todos os Direitos Reservados - Código de Defesa do Consumidor | Contrato | Política de Privacidade | Política de Uso |