Publicado por: pulimbatata | sexta-feira, 4 setembro, 2009

Envio de emails com Php

Bom, iniciando uma série de posts sobre Php aqui agora. Comecei a estudar e a desenvolver recentemente com mais afinco a linguagem, então vô tá postando algumas coisas conforme eu for estudando. Bom, pra começar, vou tá postando um pequeno exemplo de como enviar emails com o PHP, atendendo a pedido de umas meninas bem legais que conheci no SISOL – Simpósio de Software Livre, um evento que eu ajudei a organizar na Universidade Estadual do Sudoeste da Bahia.

No evento as meninas participaram de uma oficina de Joomla que eu ministrei, e aí me perguntaram como poderiam fazer pra enviar uma mensagem por email quando alguem submetesse algo num formulário do tipo “Fale Conosco”, tão comum em sites. Pesquisando um pouco pra responder as dúvidas delas, acabei topando com alguns problemas bem interessantes, mas que não vou cobrir aqui no post já que a intenção é somente tirar a dúvida do processo mesmo. Bom, vamos lá.

Primeiro, teremos nossa página onde vai estar o formulário de contato:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Fale Conosco Tutorial</title>

</head>

<body>

<h3>Fale Conosco</h3>

<form method="POST" action="procEmail.php">

<table border="1">

<tr>

<td>Nome:</td>

<td><input type="text" size="30" name="nome" /></td>

</tr>

<tr>

<td>Email:</td>

<td><input type="text" size="50" name="email" /></td>

</tr>

<tr>

<td>Assunto:</td>

<td><input type="text" size="50" name="assunto" /></td>

</tr>

<tr>

<td>Mensagem:</td>

<td><textarea name="msg" cols=40 rows=10 wrap="soft"> </textarea> </td>

</tr>

<tr>

<td colspan="2"><input type="submit" name="envia" value="Enviar" /></td>

</tr>

</table>

</form>

</body>

</html>

Bom, acho que não há muito o que explicar nesse arquivo, é um formulário básico com quatro campos:

Nome – nome do remetente da mensagem.

Email –  email do remetente, email este que estaremos usando para a resposta automática.

Assunto – assunto da mensagem.

Mensagem –  corpo da mensagem.

Bom, como visto no código, este form envia os dados para uma segunda página chamada procEmail.php , que vai processar os nosso dados do formuário e enviar o email. Vamos ver o código dessa página abaixo:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Fale Conosco Tutorial</title>

</head>

<body>

<?php

$nome = $_POST['nome'];

$email = $_POST['email'];

$assunto = $_POST['assunto'];

$msg = $_POST['msg'];

$mensagem = "Sua mensagem foi recebida, responderemos assim que possível.";

// Email de resposta para usuário que enviou mensagem

mail($email, 'Resposta Automática', $mensagem);

// Email do usuário para o setor Fale conosco

$emailFaleConosco = "faleconosco@dominio.com";

mail($emailFaleConosco, $assunto, $msg);

?>

</body>

</html>

Bom, não há muito segredo, primeiro recebemos os dados do $_POST do formulário para as variáveis, e utilizando a função mail() do Php, enviamos 2 emails. Um primeiro para o remetente da mensagem, com algum texto pré-definido informando que a mensagem foi recebida. E depois, encaminhamos a mensagem do remetente para o email do site, utilizando novamvente a função do Php.

Algumas coisas a considerar. A função mail() faz uso de algum dos clientes de email disponíveis para trabalhar com o Php, no meu caso eu utilizo o SendMail, mas há outras alternativas como o Postfix entre outros. Qualquer dúvida referente ao uso da função pode ser encontrada no  Manual do Php .

Bom, é isso aí. Espero ter ajudado, e qualquer dúvida é só comentar que tentarei responder. Sugestões de tópicos são muito bem vindas, não sou nenhum expert em Php, estou estudando como disse, então o contato é sempre bom pra aprender e tirar dúvidas. Até o próximo post.

Anúncios

Responses

  1. Hi everyone, it’s my first pay a visit at this website, and article is truly fruitful in support of me, keep up posting these content.


Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

Categorias

%d blogueiros gostam disto: