Enviando email com PHP

Neste artigo iremos ver como criar um formulário para contato, e como enviar as informações do usuário por e-mail através do PHP.

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.

Saiba mais sobre o comandos básicos do HTML

Criando código de envio de e-mail

<html> <head> <title>Enviando E-mail com PHP - DevMedia</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>Listagem 1. Código do formulário de contato

Estilizando formulário

Agora vamos criar o código css que será responsável por estilizar o formulário. Vamos salvar

<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>Listagem 2. : Código CSS de estilização do formulário

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).

Criando o código PHP de envio de email

Logo a seguir seguem as variáveis que irão armazenar os dados passados anteriormente pelo usuá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');Listagem 3. Variáveis passadas pelo formulário

A seguir veremos como fazer a configuração de 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> ";Listagem 4. Configurando exibição do corpo do e-mail

A seguir estarão os comandos para que ele interprete as variáveis e com isso possamos enviar 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 ""; } ?>Listagem 5. Interpretando as variáveis e enviando o e-mail

Dessa forma podemos criar qualquer formulário e enviar os seus dados por e-mail para quem quisermos.

Nesse exemplo, ele estará enviando para o e-mail que você colocar na variável ‘$emailenviar’.

Fico por aqui nesse tutorial, espero que tenham gostado e até o próximo.

Artigos relacionados