O e-mail é utilizado todos os dias por milhões de internautas em todo o mundo. Posto isto, seria impensável a linguagem PHP não conter uma ferramenta para envio de e-mails. O envio de e-mail em PHP é uma das funções mais utilizadas pelos programadores nos seus projectos, muitas das vezes em formulários de contacto entre cliente e entidade. Assim, vamos mostrar-lhe Como Criar Formulários de E-mail em PHP. Este tutorial pode ser facilmente aplicado em templates wordpress, sites, blogs e outros tipos de sistemas que utilizem PHP como linguagem de referência.
Não perca os artigos anteriores desta série sobre PHP:

1. A FUNÇÃO
Os e-mails em PHP são facilmente enviados usando uma função fantástica, a função mail(). Esta função necessita de 4 campos para enviar e-mail através de um formulário numa página web, e se o e-mail for entregue com sucesso irá devolver “true” , caso contrário irá devolver “false”. Os 4 campos são o Recipiente; O Assunto ; A Mensagem e Os Cabeçalhos. Os Cabeçalhos são utilizados para introduzir alguma informação adicional ao e-mail. Normalmente é utilizado para introduzir o campo de quem enviou o e-mail.
2. SINTAXE
A sintaxe é bastante simples:
mail(e-mail do recipiente, assunto, mensagem [,cabeçalhos adicionais [, parametros adicionais]]);
Posto isto, e depois de criado o formulário, podemos criar variáveis para utilizar no envio do e-mail. Trocando por miúdos, vejamos um exemplo:
$recipiente = "geral [at ] escolacriatividade.com";
$assunto = "E-mails em PHP";
$mensagem = "Gostei bastante do conteúdo desse artigo!";
$cabecalho = "De: diogoespinha@exemplo.com";
mail($recipiente,$assunto,$mensagem,$cabecalho);
echo ("O e-mail foi entregue a $recipiente";
Estas variáveis já têm dados inseridos, para o fazer, no formulário que criar na sua página, quando o utilizador clica em enviar, deverá fazer as variáveis tomar os valores dos campos antes de ser executada a função de envio do e-mail.
Para mais controle, poderá ser inserido um pequeno script para informar o utilizador se o e-mail foi entregue, mas também se não foi entregue. Então ficaria assim:
$recipiente = "geral [at ] escolacriatividade.com";
$assunto = "E-mails em PHP";
$mensagem = "Gostei bastante do conteúdo desse artigo!";
$cabecalho = "De: diogoespinha@exemplo.com";
mail($recipiente,$assunto,$mensagem,$cabecalho);
if (mail($recipiente,$assunto,$mensagem,$cabecalho)) {
echo ("O e-mail foi entregue com sucesso a $recipiente");
} else {
echo ("Houve um problema no envio do e-mail");
}
Também é possível enviar e-mail sem a utilização de variáveis. Note que o que define o que é cada campo é a sua posição, e não o que está lá escrito.
mail("geral [at ] escolacriatividade.com","E-mails em PHP","Gostei bastante do conteúdo desse artigo!","De: diogoespinha@exemplo.com");
No entanto, isto tornará certamente o seu código um pouco mais complicado, e o que se pretende é que o código seja o mais simples e funcional possível!
3. VALIDAÇÃO DE E-MAIL
Para fazer validação de e-mail, usa-se um pequeno script que irá devolver “true” se for feita a validação, ou “false” se não for feita a validação.
function isValidEmail($email){
return eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email);
}
Obrigado ao Nick Plekanov pela dica.
HORA DE COLOCAR SEU PHP EM ACÇÃO!
Este é nosso terceiro artigo sobre PHP e a esta altura certamente que você já se sente mais confiante para fazer algumas experimentações com seu PHP! Aproveite e deixe também seus comentários. A sua opinião é importante para nós!
Até Já!























Wendel Moreira
Pode utilizar a classe PHPMailer, evitando a possibilidade do e-mail chegar na caixa de SPAM.
Jonahan [JCM]
Ótimo, além da dica do nosso amigo Wendel, a validação do e-mail pode ser feito de uma forma mais fácil, basta usar a seguinte função:
function isValidEmail($email){
return filter_var($email, FILTER_VALIDATE_EMAIL);
}
Alexandre Kucarcz Cordeiro
Agora se você utiliza WordPress um ótimo plugin é o Contact Form 7! http://migre.me/2FPvx
Abraço
@criadorsites
Jonathan [JCM]
Quando se tem uma ótima alternativa que equivale a um plugin, o melhor é não utilizar um plugin.
Pois o mesmo apenas deixa lento o banco de dados e aumenta o número de funções no carregamento da página.
paulo
tem como clocar este formulario em um blog do blogger?
Jonathan [JCM]
Se o formulário for em php, que é o caso, somente por meio de iframe.
Estopa
Lembrando aos amiguinhos que a hospedagem deve dar suporte a PHP =)
Dimas Pante
Grande artigo, bem detalhado.
Só uma coisa sobre o mail, como você exemplificou não é necessário colocar duas vezes (um para enviar e o outro no if), pode colocar somente o if(mail… que funciona também