webARTz - Um pouco de Loucura, Arte, Programação e Tecnologia

09
Mai/08

PHP: Enviando e-mail com a função Mail()

Escrito por Rodrigo Luis
Categoria(s): PHP

Olá Pessoal, hoje vou falar sobre um outro ponto chave em PHP, que é o envio de e-mails, nesse caso, utilizando a função mail() do PHP, seja ele para um formulário de contato, uma resposta de cadastro, ou qualquer outra finalidade que você deseje utilizar. Existem outras formas de envio, utilizando servidor SMTP, autenticado ou não, mas isso é assunto para outro artigo.

Então, a função mail(), se divide em 4 parâmetros, o primeiro dele é o destinatário do e-mail, o segundo é o assunto, o terceiro a mensagem, e o quarto é o cabeçalho do email (header). Neste exemplo que vou passar, vamos enviar o e-mail para 1 destinatário, mas podem ser adicionados quantos forem necessários, também vamos formatar esse envio, para padrões HTML, para que assim, se possa inserir imagens, formatações de texto, links, etc. Mais informações podem também ser obtidas no site PHP.net.

Veja o código abaixo:

< ?
// Aqui vamos configurar o cabeçalho (header) do e-mail, formatos, remetentes, destinatários de cópias
$headers = "MIME-Version: 1.0\r\n";
// Aqui definirmos o formato padrão HTML e a codificação do Texto
$headers.= "Content-type: text/html; charset=iso-8859-1\r\n";
// Abaixo estabelecemos o Remetente do E-mail com o From:
$headers.= "From: roberto.carlos@gmail.com\r\n";
// Caso se queira especificar o e-mail de Resposta, utilizamos o Reply-To:, caso você não queira, basta excluir a linha abaixo
$headers.= "Reply-To: roberto.carlos@gmail.com\r\n";
// Se desejar enviar cópia para outro e-mail utiliza-se o Bcc:, especificando o e-mail de destino, se não quiser mandar essa cópia, basta remover a linha abaixo
$headers.= "Bcc: roberto_carlos@hotmail.com\r\n";
// Nesta linha abaixo, configuramos o e-mail do destinatário, caso queira especificar mais de 1 destinatário, basta colocar uma virgula (,) e o outro e-mail, ex: fulano@gmail.com, fulano2@gmail.com
$destinatario = "fulano@gmail.com";
// Definimos o assuntos do nosso e-mail
$assunto = "Teste da Função mail()";

// Abaixo, vamos colocar o corpo da mensagem, lembrando que como definimos que será em padrão HTML acima no cabeçalho, você terá de utilizar tags HTML abaixo, veja o exemplo
$mensagem = "







Nome: Roberto Carlos
E-mail: roberto.carlos@gmail.com


"; 

// Definido todos os parametros, agora podemos proceder com o envio, conforme a linha abaixo, lembre-se sempre de verificar se todos os parâmetros estão corretamente especificados
mail($destinatario, $assunto, $mensagem, $headers);
?>

.

Lembrando que esse script fará somente o envio do e-mail, você deverá criar o seu formulário com os campos desejados em seu HTML normal, e postar as informações nesta página com esse script, e claro, nesse modelo não especifiquei nenhuma variável recebida por postagem, isso você terá de fazer, como eu disse, conforme seu formulário. Caso tenha alguma dúvida, faça um comentário com sua questão.

Você pode baixar o arquivo com o script, clicando aqui.

Lembrando que é possivel fazer esse envio com arquivo(s) em anexo, mas isso é assunto também para outro artigo. Em breve abordarei essa questão de anexos com a função mail().


Compartilhe esse Artigo:
  • Digg
  • StumbleUpon
  • Technorati
  • Slashdot
  • del.icio.us
  • Reddit
  • Google
  • Facebook
  • Live
  • Rec6
  • YahooMyWeb
  • Furl
  • Spurl
  • Taggly
  • Smarking
  • description
  • TwitThis
  • Fark
  • Ma.gnolia
  • Propeller
  • De.lirio.us
  • Print this article!
  • E-mail this story to a friend!







Escreva um Comentário

Você precisa estar logado ou ser cadastrado para enviar um Comentário.