Olá Pessoal,
Aproveitaram bem o feriadão? Espero que sim. Vamos retomar a vida normal!!!
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.