PHP Programação

Enviando email com PHP

02:08Fresh Young´s

Olá pessoal, nesse tutorial estarei ensinando como criar um formulário para contato, e como enviar as informações do usuário por e-mail através do próprio PHP.
Vamos começar fazendo o código HTML do formulário, nele vamos colocar os campos de formulário para depois vermos como estilizamos ele com CSS.

Listagem 1: Código do formulário de contato

<html>
<head>
    <title>Enviando E-mail com PHP - Linha de Código</title>
    <link rel="stylesheet" type="text/css" href="estilo.css">
</head>
<body>
    <div id="contato_form">
      <form action="enviar.php" name="form_contato" method="post" >
      <p class="titulo">Formulário <small class="asteristico">*Campos Obrigatorios</small></p>
        <table align="center">
          <tr>
            <td>Nome:<sup class="asteristico">*</sup></td>
            <td>
              <input type="text" name="nome" maxlength="40" />
            </td>
          </tr>
          <tr>
            <td>E-mail:<sup class="asteristico">*</sup></td>
            <td>
              <input type="email" name="email" maxlength="30" />
            </td>
          </tr>
          <tr>
            <td>Telefone:<sup class="asteristico">*</sup></td>
            <td>
              <input type="text" name="telefone" maxlength="14" />
            </td>
          </tr>
          <tr>
            <td>Opções:<sup class="asteristico">*</sup></td>
            <td>
              <select name="escolhas" class="campo_input">
                <option value="Opção 1">Opção 1</option>
                <option value="Opção 2">Opção 2</option>
              </select>
            </td>
          </tr>
          <tr>
            <td>Mensagem:<sup class="asteristico">*</sup></td>
            <td>
              <textarea name="msg" cols="16" rows="5"></textarea>
            </td>
          </tr>
          <tr align="right";>
            <td colspan="2">
              <input type="reset" class="campo_submit" value="Limpar" />
              <input type="submit" class="campo_submit" value="Enviar" />
            </td>
          </tr>
          <tr>
            <td colspan="2" align="right"><small class="asteristico">* Campos obrigatorios</small></td>
          </tr>
        </table>
      </form>
    </div>
</body>
</html>

Estilizando formulário

Agora vamos criar o código css que será responsável por estilizar o formulário. Vamos salvar
Listagem 2 : Código CSS de estilização do formulário

<style type="text/css">
body{
    font-size:12px;
    font-family:Verdana, Geneva, sans-serif;
}
#contato_form{
    width:500px;
    min-height:175px;
    color:#999;
    margin:auto;
}
.asteristico{
    color:#F00;
}
</style>
Vamos entender um pouco o código acima?
Na tag table não podemos nos esquecer de colocar o action=""(que é onde colocamos o arquivo em php com o código de envio do e-mail) e o method="" que no nosso caso iremos usar o POST, pois não queremos passar os parêmetros por url(GET).

Logo a seguir seguem as variáveis que irão armazenar os dados passados anteriormente pelo usuário.
Listagem 3: Variáveis passadas pelo formulário

<?php
//Variáveis
$nome = $_POST['nome'];
$email = $_POST['email'];
$telefone = $_POST['telefone'];
$opcoes = $_POST['escolhas'];
$mensagem = $_POST['msg'];
$data_envio = date('d/m/Y');
$hora_envio = date('H:i:s');
A seguir veremos como fazer a configuração de exibição do corpo do e-mail.
Listagem 4: Configurando exibição do corpo do e-mail

// Compo E-mail
    $arquivo = "
    <style type='text/css'>
    body {
    margin:0px;
    font-family:Verdane;
    font-size:12px;
    color: #666666;
    }
    a{
    color: #666666;
    text-decoration: none;
    }
    a:hover {
    color: #FF0000;
    text-decoration: none;
    }
    </style>
    <html>
        <table width='510' border='1' cellpadding='1' cellspacing='1' bgcolor='#CCCCCC'>
            <tr>
              <td>
    <tr>
                 <td width='500'>Nome:$nome</td>
                </tr>
                <tr>
                  <td width='320'>E-mail:<b>$email</b></td>
       </tr>
        <tr>
                  <td width='320'>Telefone:<b>$telefone</b></td>
                </tr>
       <tr>
                  <td width='320'>Opções:$escolhas</td>
                </tr>
                <tr>
                  <td width='320'>Mensagem:$nome</td>
                </tr>
            </td>
          </tr> 
          <tr>
            <td>Este e-mail foi enviado em <b>$data_envio</b> às <b>$hora_envio</b></td>
          </tr>
        </table>
    </html>
    ";
A seguir estarão os comandos para que ele interprete as variáveis e com isso possamos enviar o e-mail.
Listagem 5: Interpretando as variáveis e enviando o e-mail

//enviar
     
    // emails para quem será enviado o formulário
    $emailenviar = "seuemail@seudominio.com.br";
    $destino = $emailenviar;
    $assunto = "Contato pelo Site";
    // É necessário indicar que o formato do e-mail é html
    $headers  = 'MIME-Version: 1.0' . "\r\n";
        $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
        $headers .= 'From: $nome <$email>';
    //$headers .= "Bcc: $EmailPadrao\r\n";
     
    $enviaremail = mail($destino, $assunto, $arquivo, $headers);
    if($enviaremail){
    $mgm = "E-MAIL ENVIADO COM SUCESSO! <br> O link será enviado para o e-mail fornecido no formulário";
    echo " <meta http-equiv='refresh' content='10;URL=contato.php'>";
    } else {
    $mgm = "ERRO AO ENVIAR E-MAIL!";
    echo "";
    }
?>
Dessa forma podemos criar qualquer formulário e enviar os seus dados por e-mail para quem quisermos.

You Might Also Like

0 comentários

Popular Posts

Formulário de Contacto