Enviar Email - PHP - Parte 1



Hoje iremos aprender como enviar e-mail através do PHP. Vamos iniciar criando um formulário simples com campos de email, assunto e texto.

Caso não saiba como criar um formulário básico, poderá ver como se cria clicando aqui. A diferença dos formulários que já fizemos para esse é que vamos incluir uma nova tag no formulário que é a tag <textarea> ela é a responsável por exibir uma caixa de texto maior para que possamos como o nome já diz, escrever um texto.

Iremos trabalhar com dois arquivos, um que será apenas HTML que é responsável pela parte visual e outro que será o PHP, responsável apenas pelo processamento.

O formulário html ficará da seguinte forma:

<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
 <title>Formulário de Email</title>
</head>
<body>
 <form method="post" action="email.php"><br>
  <label>Email:</label><br>
  <input type="text" name="email"></input><br>
  <label>Assunto:</label><br>
  <input type="text" name="assunto"></input><br>
  <label>Texto:</label><br>
  <textarea name="texto" rows="5" cols="50></textarea><br><br>
  <input type="submit" name="Enviar"></input>
 </form>
</body>
</html>

Como podemos observar a tag <textarea> recebe alguns parâmetros que são o nome, linhas e colunas, o nome será como os outros, necessário para a identificação no momento em que formos pegar o seu dado no arquivo PHP e as linhas e colunas são apenas para configuração de tamanho da área do texto, não está relacionado ao tanto de caracteres que o campo irá suportar.

Após criar o arquivo e colocar todo esse código HTML, você deverá salvar ele com a extensão ".html" e ele estará finalizado. Agora iremos criar o arquivo de processo, ele terá a extensão ".php"

Primeiramente iremos iniciar recebendo os dados informados no formulário:

$email = $_POST['email'];
$assunto = $_POST['assunto'];
$texto = $_POST['texto'];

Agora devemos colocar o cabeçalho, ele ficará da seguinte forma:

$header = "MIME-Version: 1.1\r\n";
$header .= "Content-type: text/plain; charset=iso-8859-1\r\n";
$header .= "From: remetente@dominio\r\n";
$header .= "Return-Path: remetente@dominio\r\n"; 


No "From" devemos informar o email do domínio no qual a gente esta utilizando, como estamos utilizando um servidor local devemos informar o email a qual cadastramos, no Wamp Server (Windows) e no Lamp (Linux). Já o "Return-Path" será o email do remetente, no caso quem enviou o email. Como podem observar também, utilizamos o "\r\n" ele será o quebra de linha que utilizaremos no cabeçalho.

Por fim utilizaremos a função do PHP que será responsável pelo envio do email. A função se chama "mail". Sua sintaxe ficará assim:

$envio = mail($email, $assunto, $texto, $header);

O "mail" irá receber o email do destinatário, o assunto do email, a mensagem que será enviada e por fim o cabeçalho. Ele irá receber esses parâmetros e irá retornar um valor lógico que será "true" ou "false" que dirão se o email foi enviado ou não. Armazenamos esse resultado em uma variavel que iremos utilizar dentro de uma estrutura condicional que irá gerenciar a mensagem que será exibida para o usuário.

A estrutura ficara assim:

if($envio){
 echo "Enviado com sucesso!";
}else{
 echo "Ocorreu erro no envio!";
}

Como na variavel tem apenas "true" ou "false" caso o email tenha sido enviado ele será atribuído o "true" e entrará na primeira condição, caso não, ele entrará na segunda.

O código PHP completo ficará da seguinte forma:

<?php
$email = $_POST['email'];
$assunto = $_POST['assunto'];
$texto = $_POST['texto'];

$header = "MIME-Version: 1.1\r\n";
$header .= "Content-type: text/plain; charset=iso-8859-1\r\n";
$header .= "From: remetente@dominio\r\n";
$header .= "Return-Path: remetente@dominio\r\n"; 

$enviar = mail($email, $assunto, $texto, $header);

if($enviar){
 echo "Enviado com sucesso!";
}else{
 echo "Ocorreu erro no envio!";
}

?>
Uma observação é que esse email não será enviado, a questão é que como você deverá esta usando no servidor local, deverá ter uma serie de configurações para que possua exito e isso será ensinado em um outro post, mas por enquanto temos toda a estrutura para o envio do email pronto.

Próximos posts estaremos ensinando como funcionará com o "SendMail" e também utilizando um domínio grátis para podemos testar melhor nossas aplicações.

E assim finalizamos a primeira parte do envio de email utilizando o PHP. Continuem ligados no TURIMLAB para mais posts sobre HTML e tudo sobre tecnologia.

Dicas, sugestões e dúvidas podem colocar nos comentários!

0 comentários:

Postar um comentário