Enviar arquivo anexo para e-mail via formulario de contato


(Pedro Jeferson) #1

Olá, estou desenvolvendo um formulario de contato que nele tem uma area onde o cliente deve subir um arquivo.

Sou leigo em php estou usando um script que ate aqui estava dando certo pra mim porem nele nao tem a opção de receber os arquivos anexo no e-mail.

Já fiz o front tudo certinho porem agora precisava saber se podem me ajudar o trecho do codigo do form esta abaixo assim como o script de envio.

<section class="formulario">
    <div class="container">
        <div class="row">
            <div class="col-md-6">

                <form id="formulario" action="envia.php" method="post" enctype="multipart/form-data" class="form-horizontal">

                  <!-- Text input-->
                  <div class="form-group">

                    <input id="nome" name="nome" type="text" placeholder="Nome" class="form-control" required="">      
                </div>

                <!-- Text input-->
                <div class="form-group">

                    <input id="email" name="email" type="email" placeholder="E-mail" class="form-control" required="">      
                </div>

                <!-- Text input-->
                <div class="form-group">

                    <input id="telefone" name="telefone" pattern="[0-9]+$" type="tel" placeholder="Telefone" class="form-control" required="">      
                </div>

                <!-- File Button --> 
Foto da sua receita
<div class="col-md-4">
    <input id="anexo" name="anexo" class="input-file" type="file">
</div>

Script

<?php 

function pegaValor($valor) {
return isset($_POST[$valor]) ? $_POST[$valor] : ‘’;
}

$nome = pegaValor(“nome”);
$email = pegaValor(“email”);
$telefone = pegaValor(“telefone”);
$mensagem = pegaValor(“mensagem”);
$arquivo = “Nome: $nome \n

E-mail: $email \n

Telefone: $telefone \n
”;

$destino = "email@gmail.com";
$assunto = “Contato enviado pelo site”;

$headers = “Content-Type:text/html; charset=UTF-8\n”;
$headers .= “From: $email\n”;
$headers .= “X-Sender: \n”;
$headers .= “X-Mailer: PHP v”.phpversion()."\n";
$headers .= “X-IP: “.$_SERVER[‘REMOTE_ADDR’].”\n”;
$headers .= “Return-Path: email@gmail.com\n”;
$headers .= “MIME-Version: 1.0\n”;

$enviaremail = mail($destino, $assunto, $arquivo, $headers);
if($enviaremail){
echo “ok”;
} else {
echo “erro”;
}

?>


(Luã Ciceri Schwertner) #2

Fala @pedro.jeferson, tem bastante tutorias de como fazer isso por aí, segue alguns que acho que vão resolver teu problema.

Enviar email com anexos em php
Como enviar e-mails com anexos através de formulários, utilizando PHP?
Enviar email com Anexo em PHP
Enviar email com Anexo em PHP