Formulário em PhpMailer

De MochilaWiki
Ir para navegaçãoIr para pesquisar

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

Baixar a classe PHP Mailer

Créditos

Artigo escrito por argohost e publicado originalmente em http://www.argohost.net/wiki/Formul%C3%A1rio_em_PhpMailer