abr
13
2009
2

Minicurso PHP: 4ª Parte – Formulários Web: Enviando email com PHP

Olá Pessoal,

Aproveitaram bem o feriadão? Espero que sim. Vamos retomar a vida normal!!! :-D

Conforme prometido, vamos ver como disparar emails a partir do PHP. Na verdade é bem simples, basta usar a função mail. Uma vez instalado e configurado um serviço de SMTP (seu servidor de hospedagem, provavelmente, já tem isso pronto para você), basta usar a função, passar alguns parâmetros e pronto! Temos um email enviado. A função mail funciona da seguinte forma: mail(destinatário, mensagem, cabeçalhos), onde cabeçalhos são informações como remetente, cópia, cópia oculta e formato do email (texto normal ou html). Veja a função mail em funcionamento.

CONTATO.PHP

1
2
3
4
5
6
7
8
<form action="valida.php" method="post" id="form" name="form">
<label for="nome">Nome: <input type="text" name="nome" id="nome" /></label>
<label for="email">Email: <input type="text" name="email" id="email" /></label>
<label for="telefone">Telefone: <input type="text" name="telefone" id="telefone" /></label>
<label for="assunto">Assunto: <input type="text" name="assunto" id="assunto" /></label>
<label for="mensagem">Mensagem: <textarea name="mensagem" id="mensagem"></textarea></label>
<button type="submit">ENVIAR</button>
</form>

VALIDA.PHP

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
//Vamos receber os dados do formulário, armazená-los em variáveis e imprimí-los na tela
$nome = $_POST["nome"];
$email = $_POST["email"];
$telefone = $_POST["telefone"];
$assunto = $_POST["assunto"];
$mensagem = $_POST["mensagem"];
 
//Declaro os cabeçalhos do email - From indica o remetente da mensagem
$headers = "From: "$email \n";
//Cc: São os emails que receberão uma cópia da mensagem
$headers .= "Cc: teste2@teste.com.br \n";
//Bcc: São os endereços que receberão uma cópia da mensagem
$headers .= "Bcc: teste3@teste.com.br, teste4@teste.com.br \n";
//Content-type define o tipo do documento - text/plain indica texto comum, já text/html indica texto no formato HTML / charset é o padrão de codificação do conteúdo
$headers .= "Content-type: text/html; charset=iso-8859-1";
 
//Uso a função mail
if (mail("teste@teste.com.br", $mensagem, $headers)) {
echo "Ok";
}
else {
echo "Erro";
}
?>

A função mail() retorna um valor lógico TRUE ou FALSE. Bem, isso é o necessário para se enviar emails com PHP… Nada complicado, né? É provável que você não consiga disparar emails a partir do seu servidor local (localhost), devido a falta de um serviço de SMTP instalado. Recomendo testar direto em sua hospedagem, onde tudo já está devidamente configurado. :-)

Até amanhã, quando falaremos sobre funções para tratamento de strings (adentrando no tema validação de dados com PHP).

Forte abraço e até lá.
Diego.

Powered by WordPress | Theme: Aeros 2.0 by TheBuckmaker.com