Suporte

Tudo sobre PHP

Enviando e-mail via PHP

Como criar um formulário de contato via PHP

Para enviar e-mails em PHP, basta criar dois arquivos. O primeiro, que iremos chamá-lo de formulario.html, terá o código HTML com o formulário e seus campos:


<html lang="pt-br">
<head>
<title>MCO2 - Formulário por e-mail</title>
</head>
<body>
<form action="formulario.php" method="post">  
     <table>  
          <tr>   
               <td>Nome</td>  
               <td><input name="Nome" type="text" size="40" maxlength="40" /></td>  
          </tr>  
          <tr>   
               <td>E-mail</td>  
               <td><input name="Email" type="text" size="40" maxlength="40" /></td>  
          </tr>  
          <tr>   
               <td>Sexo</td>  
               <td>  
                    <input type="radio" name="Sexo" value="Masculino"   
                                                    checked="checked" />Masculino  
                    <input type="radio" name="Sexo" value="Feminino" />Feminino  
               </td>  
          </tr>  
          <tr>  
               <td>Idade:</td>  
               <td>  
                    <select name="Idade">  
                    <option>Menor de 18 anos</option>  
                    <option>Entre 18 e 21 anos</option>  
                    <option>Maior de 21 anos</option>  
                    </select>  
               </td>  
          </tr>  
          <tr>  
               <td>Comentários</td>  
               <td><textarea cols="40" rows="3" name="Comentarios"></textarea></td>  
          </tr>  
          <tr>   
               <td></td>  
               <td><input type="submit" value="Enviar" />  
                    <input type="reset" value="Limpar" /></td>  
          </tr>  
     </table>  
</form>  
</body>
</html>
Agora vamos criar um script PHP que irá receber os dados e enviar a mensagem por e-mail, com o nome enviar.php:


<?php
$Nome = $_POST['Nome'];
$Email = $_POST['Email'];
$Sexo = $_POST['Sexo'];
$Idade = $_POST['Idade'];
$Comentarios = $_POST['Comentarios'];
$Erro = '';
if ($Nome != '') {
    if (filter_var($Email, FILTER_VALIDATE_EMAIL)) { 
        // inclua aqui outras regras de validação caso considere necessário
    } else {
        $Erro = 'Email inválido';
    }
} else {
    $Erro = 'Nome obrigatório';
}

if ($Erro == '') {
    //Assunto da mensagem
    $subject = 'Formulário do site';
    //Montando e formatando a mensagem em HTML
    $message = '<h1>Fomulário do site</h1>' . "\r\n";
    $message .= "<p>Nome: $Nome</p>\r\n";
    $message .= "<p>E-mail: $Email</p>\r\n";
    $message .= "<p>Sexo: $Sexo</p>\r\n";
    $message .= "<p>Idade: $Idade</p>\r\n";
    $message .= "<p>Comentários: <br />$Comentarios</p>\r\n";
    //Particiona a mensagem em no máximo 70 caracteres por linha 
    //(necessário devido a limitações do protocolo de e-mail)
    $message = wordwrap($message, 70);

    //Configura o tipo de codificação de e-mail
    $headers  = 'MIME-Version: 1.0' . "\r\n"; 
    //configura o tipo de conteúdo e os caracteres aceitos
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
    //Configura o e-mail de origem, configure aqui sempre um e-mail válido do próprio site, 
    //evitando que sua mensagem seja bloqueada por sistemas de anti-spam e por erro de SPF
    $headers .= 'From: "E-mail do remetente" <origem@dominio.com.br>' . "\r\n";
    //configura o destinatário caso quem receber a mensagem tente responde-la
    //(Quando o destino responder a mensagem 
    //ela irá para o e-mail que foi preenchido no formulário)
    $headers .= 'Reply-To: ' . $Email . '' . "\r\n"; 

    //Configuramos dois destinatários distintos para a mensagem
    $to = '"Nome" <destino@dominio.com.br>';

    if (!mail($to, $subject, $message, $headers)) {
        $Erro = 'Falha ao enviar o e-mail';
    }
}

if ($Erro == '') {
    echo 'Mensagem enviada com sucesso!';
} else {
    echo $Erro;
}
?>
Para mais informações sobre a função mail() do PHP, consulte a documentação oficial.
Atenção: As instruções desta página são exclusivas para os Planos de hospedagem na plataforma Unix.

Contrate agora e tenha até 60 dias gratis para testar!

Digite um domínio para pesquisar
Domínios hospedados
Clientes satisfeitos