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á!

 

Autor: Diogo Espinha

Blog do Autor | Artigos do Autor:

Workaholic e totalmente viciado em computadores, Internet e desporto motorizado. Adora praticar desporto, é um curioso da programação em PHP, CSS e HTML5 e não dispensa a companhia do seu Mac OSX 86 Snow Leopard!

  • Explorer - Factory Construction & Ship Building Joomla Theme
  • Justice - Attorney and Law Firm Joomla Template
  • OwnFolio - One Page Personal Portfolio / vCard / Resume / Showcase Joomla Template
  • Big Business - Responsive Template
  • Merab - Creative Multipurpose Drupal 8 Theme
  • Fitness Academy Joomla Template
  • Fruition - Business Joomla Template
  • Educate | Education & Courses, Kindergartens Joomla Template
  • Constructive - Contractors Multipurpose Joomla Landing Page Theme
  • Vina Bubox - VirtueMart Joomla Template for Online Stores
  • BizOne - One Page Parallax Drupal Theme
  • LawHouse - Responsive Lawyers Attorneys Joomla Template

Gostou deste artigo? Então torne-se fã do Blog no Facebook!



Comentários dos Alunos


  1. Wendel Moreira
    2 de dezembro de 2010

    Pode utilizar a classe PHPMailer, evitando a possibilidade do e-mail chegar na caixa de SPAM.



  2. Jonahan [JCM]
    3 de dezembro de 2010

    Ó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);
    }



  3. Alexandre Kucarcz Cordeiro
    3 de dezembro de 2010

    Agora se você utiliza WordPress um ótimo plugin é o Contact Form 7! http://migre.me/2FPvx

    Abraço
    @criadorsites



    • Jonathan [JCM]
      3 de dezembro de 2010

      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.



  4. paulo
    10 de dezembro de 2010

    tem como clocar este formulario em um blog do blogger?



    • Jonathan [JCM]
      10 de dezembro de 2010

      Se o formulário for em php, que é o caso, somente por meio de iframe.



  5. Estopa
    12 de dezembro de 2010

    Lembrando aos amiguinhos que a hospedagem deve dar suporte a PHP =)



  6. Dimas Pante
    22 de fevereiro de 2011

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



  7. Mucio
    23 de agosto de 2012

    Para q eu faca as variaveis se tornarem os campos do form
    Defino desta forma?
    $variavel = “nome”;
    $variavelx = “mensagem”; etc? E se for um radio?



  8. Michel Campillo
    22 de setembro de 2013

    Super prático ! Até um iniciante em PHP pode formulários de emails, acompanhando passo a passo as dicas desse artigo. Parabens.


RSS
Twitter
Facebook
Comentários
ASSINANTES
SEGUIDORES
FÃS
COMENTÁRIOS
7794

Subscrever Newsletter
Subscreva a Newsletter:



Aplicativos Android, iPhone e Muito Mais!




Assine a Escola Criatividade Assine a Newsletter da Escola Criatividade Escola Criatividade no Twitter Escola Criatividade no Facebook Escola Criatividade no Youtube Escola Criatividade no Google Buzz