Formulário em PhpMailer
Como criar um formulário e enviar os dados através de emails usando a função PhpMailer com autenticação SMTP
Iremos demostrar como criar um pequeno formulário a ser preenchido por um visitando de seu site que irá ser enviado a uma conta de email definida por você, o envio será autenticado e usará a função PHPMailer.
Primeiro iremos criar um formulário básico para colher os dados que desejar, neste exemplo utilizaremos 4 campos:
Nome - Nome da pessoa que preencheu o formulário.
Email - Email da mesma pessoa.
Assunto - Assunto para indexar no email
Mensagem - E a mensagem que a pessoa irá lhe enviar.
Criando o formulário:
Utilizaremos HTML simples para isso segue o código exemplo:
Deixe uma mensagem:
<form id="form" name="form" method="post" action="server.php" >
Nome:
<label>
<input name="nome" type="text"/> <br/>
</label>
E-mail:
<label>
<input name="email" type="text"/> <br/>
</label>
Assunto:
<label>
<input name="assunto" type="text"/> <br/>
</label>
Mensagem:
<label>
<textarea name="mensagem" cols="50" rows="3" ></textarea> <br/>
</label>
<label>
<input name="enviar" type="submit" value="Enviar" />
</label>
</form>
Vamos a uma rápida analise do código:
<input name="nome" type="text"/>
Como podem ver criamos 4 variáveis 3 simples e uma com um campo para mensagem.
Caso queiram incluir mais campos apenas adicionem a linha acima mais uma vez, mudando o valor do "INPUT NAME=" que no caso será o nome do seu campo.
Por exemplo adicionando um campo para entrar com um telefone:
<input name="telefone" type="text"/>
Desta forma você pode adicionar quantos campos quiser a seu formulário.
Após concluir salve o arquivo como formulário.php
Lembrando que este é apenas um formulário simples, você poderá criar seu próprio formulário com um layout mais complexo.
Criando o arquivo de configuração do PHP:
Agora iremos criar o arquivo .php que dara o tratamento nos campos preenchidos no seu formulário e fará o enviou para seu email, apenas crie um arquivo chamado server.php com o código abaixo copiado, e altere com seus dados. Cada campo está comentado indicando o que é:
<?
include("phpmailer/class.phpmailer.php");
//aqui estamo importando do arquivo formulário cada campo criado, neste caso estou importando apenas os 4
//campos que criei, lembre de adicionar abaixo algum campo que você tenha criado, como o exemplo que dei do
//telefone
$nome = $_POST['nome'];
$email = $_POST['email'];
$assunto = $_POST['assunto'];
$mensagem = $_POST['mensagem'];
$mail = new PHPMailer();
$mail->IsSMTP(); // mandar via SMTP
$mail->Host = "mail.seu_domino.net"; // Seu servidor smtp
$mail->SMTPAuth = true; // smtp autenticado
$mail->Username = "seu_email@seudominio"; // usuário deste servidor smtp
$mail->Password = "sua_senha"; // senha
$mail->From = $email;
$mail->FromName = $nome;
$mail->SetLanguage( 'br', 'phpmailer/language/' ); // Carrega o idioma
//Enderecos que devem ser enviadas as mensagens (Pode haver mais de 1)
$mail->AddAddress("seuEmail@seudominio.com","Seu Nome");
//Endereço de resposta
$mail->AddReplyTo($email);
$mail->WordWrap = 50; // set word wrap
$mail->IsHTML(true); // send as HTML
$mail->Subject = $assunto;
$mail->Body = $mensagem;
$mail->AltBody = " ESPAÇO DO ALT-BODY";
if(!$mail->Send())
{
echo "A mensagem não pode ser enviada
";
echo "Erro: " . $mail->ErrorInfo;
exit;
}
echo "Mensagem enviada";
?>
- Lembrando que a classe PHP deve ser baixada e colacada na mesma pasta que os arquivos do formulário
Links
Créditos
Artigo escrito por argohost e publicado originalmente em http://www.argohost.net/wiki/Formul%C3%A1rio_em_PhpMailer