Este artigo se destina a iniciantes em PHP. Quem já conhece bem a linguagem não verá nada de inédito aqui. :)
Uma das dúvidas mais comuns pelos fóruns é o envio de E-Mails usando PHP. É um tema simples, mas que muitos têm dúvidas. Por isso resolvi escrever este tutorial bem básico abordando esse assunto.
Coloquei os principais tipos de campos de formulário, a fim de sanar (ou diminuir) dúvidas concernentes a isso.
Começando pelo formulário HTML, que dispensa explicações:
formulario.html (O formulário não precisa ter extensão .php)
*Inseri "[]" nos nomes dos checkboxes para que o script PHP interprete a variável como uma matriz (array)
Agora vamos ao que interessa: o script PHP. :)
Primeiro pegamos as variáveis vinda do formulário:
Notem que usei a função nl2br() para transformar as quebras de linha do textarea em quebras de linha HTML.
Vale lembrar que o nome da vaariável não precisa ser necessariamente igual ao nome do atributo name do campo do formulário.
Agora vamos transformar a array $musica em uma string comum usando a função foreach():
foreach ($musica as $x)
$estilos .= $x."<br />";
* Como só há um comando no loop, não há necessidade de se usar chaves ({ e }).
Agora vamos definir o e-mail destinatário, a mensagem e o cabeçalho do E-Mail.
O header From: faz aparecer o nome/e-mail do visitante no campo "De" do e-mail. Não peguei o e-mail do usuário nesse exemplo; esse "trabalho" fica para vocês! ;) Os outros dois headers fazem o servidor de e-mail reconhecer que a mensagem está em HTML.
Finalmente a parte que envia o e-mail:
if (mail ($para, $assunto, $mensagem, $header))
echo "E-Mail enviado!";
else
echo "Erro ao enviar o E-Mail";
Pergunta
Beraldo
Saudações, pessoal.
Este artigo se destina a iniciantes em PHP. Quem já conhece bem a linguagem não verá nada de inédito aqui. :)
Uma das dúvidas mais comuns pelos fóruns é o envio de E-Mails usando PHP. É um tema simples, mas que muitos têm dúvidas. Por isso resolvi escrever este tutorial bem básico abordando esse assunto.
Coloquei os principais tipos de campos de formulário, a fim de sanar (ou diminuir) dúvidas concernentes a isso.
Começando pelo formulário HTML, que dispensa explicações:
formulario.html (O formulário não precisa ter extensão .php)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <style type="text/css" media="screen"> <!-- body { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; margin: 15px; background: #666; } fieldset{ width: 430px; padding: 10px; background: #ccc; } input{ margin-top: 5px; margin-bottom: 5px; } --> </style> <title>Formulário de Contato</title> </head> <body> <form action="enviar.php" method="post"> <fieldset> <label for="nome">Nome: </label> <input type="text" name="nome" id="nome" /><br /><br /> Sexo: <input type="radio" name="sexo" id="sexo_f" value="Feminino" /> <label for="sexo_f">Feminino</label> <input type="radio" name="sexo" id="sexo_m" value="Masculino" /> <label for="sexo_m">Masculino</label> <input type="radio" name="sexo" id="sexo_na" value="Indeciso(a)" /> <label for="sexo_na">Ainda não me decidi</label><br /><br /> <p>Estilos de música de que gosta:</p> <input type="checkbox" name="musica[]" id="musica_r" value="Rock" /> <label for="musica_r">Rock</label><br /> <input type="checkbox" name="musica[]" id="musica_e" value="Erudita" /> <label for="musica_e">Música Erudita</label><br /> <input type="checkbox" name="musica[]" id="musica_j" value="Jazz" /> <label for="musica_j">Jazz</label><br /><br /> <label for="assunto">Assunto: </label> <select name="assunto" id="assunto"> <optgroup label="Assunto"> <option value="duvidas">Dúvidas</option> <option value="sugestoes">Sugestões</option> </optgroup> </select> <br /><br /> <p><label for="mensagem">Mensagem:</label></p> <textarea rows="5" cols="30" name="mensagem" id="mensagem"></textarea><br /><br /> <input type="submit" value="Enviar" /> </fieldset> </form> </body> </html>*Inseri "[]" nos nomes dos checkboxes para que o script PHP interprete a variável como uma matriz (array) Agora vamos ao que interessa: o script PHP. :) Primeiro pegamos as variáveis vinda do formulário: Notem que usei a função nl2br() para transformar as quebras de linha do textarea em quebras de linha HTML. Vale lembrar que o nome da vaariável não precisa ser necessariamente igual ao nome do atributo name do campo do formulário. Agora vamos transformar a array $musica em uma string comum usando a função foreach(): * Como só há um comando no loop, não há necessidade de se usar chaves ({ e }). Agora vamos definir o e-mail destinatário, a mensagem e o cabeçalho do E-Mail. O header From: faz aparecer o nome/e-mail do visitante no campo "De" do e-mail. Não peguei o e-mail do usuário nesse exemplo; esse "trabalho" fica para vocês! ;) Os outros dois headers fazem o servidor de e-mail reconhecer que a mensagem está em HTML. Finalmente a parte que envia o e-mail: O código PHP integralmente:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <style type="text/css" media="screen"> <!-- body { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; margin: 15px; background: #666; } </style> <title>Contato</title> </head> <body> <?php $nome = $_POST['nome']; $sexo = $_POST['sexo']; $musica = $_POST['musica']; $assunto = $_POST['assunto']; $mensagem = nl2br($_POST['mensagem']); foreach ($musica as $x) $estilos .= $x."<br />"; $para = "seu_email@dominio.com";// e-mail que receberá a mensagem $mensagem = " <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\"> <html xmlns=\"http://www.w3.org/1999/xhtml\"> <head> <title>Contato</title> </head> <body> Nome: <strong>$nome</strong><br /> Sexo: <strong>$sexo</strong><br /> Estilos Musicais:<br /><strong>$estilos</strong><br/><br /> Mensagem: <br /><strong>$mensagem</strong> </body></html> "; $header = "MIME-Version: 1.0\r\n"; $header .= "Content-type: text/html; charset=iso-8859-15\r\n"; $header .= "From: $nome <$email>"; if (mail ($para, $assunto, $mensagem, $header)) echo "E-Mail enviado!"; else echo "Erro ao enviar o E-Mail"; ?> </body> </html>Espero que este artigo tenha ajudado.
Abraços
Link para o comentário
Compartilhar em outros sites
Top Posters For This Question
27
14
2
2
Dias Populares
Abr 10
10
Fev 1
7
Fev 2
5
Fev 3
5
Top Posters For This Question
Beraldo 27 posts
lordfox8 14 posts
DetonationS 2 posts
Livio Iago 2 posts
Dias Populares
Abr 10 2007
10 posts
Fev 1 2008
7 posts
Fev 2 2008
5 posts
Fev 3 2008
5 posts
63 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.