Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite gente, então galera, sou um desenvolvedor iniciante ainda, e, não consigo ter facilidade com formulários, e preciso fazer um para o meu projeto, já achei uns prontos, mas o problema realmente é na hora de enviar os dados para algum email, o site é hospedado na LocaWeb, o que eu deveria fazer na aba de email para conseguir mandar? Alguem, se possível poderia me explicar como funcionam os formulários e o que é necessário para poder enviar os dados para um email. Grato desde já, tenham uma boa noite, até mais.
Penso que vai ter que trabalhar com php. Pois terá que passar os dados via php para o servidor e no php é que existe um arquivo, script, que executa essa tarefa. Pois no servidor é que terá a funcionalidade de enviar emails!
Terá que ser serverside e nunca clientside. Pois o cliente não tem capacidade de enviar emails. Mas aguarde por respostas dos mais pros! :)
a melhor forma é usando php ou outra linguagem server side. tu pode criar o formulário numa página html mesmo e envia para uma php que pega os dados e envia usando uma biblioteca de email do próprio php algo tipo
página contato.html
...
<form method='post' action='enviar_email.php'> <!-- os dados vai ser enviado para a página que está definida no action=' ' -->
<input type='text' name='nome'>
<input type='text' name='email'> <!-- observa o name em cada um dos campos -->
<input type='text' name='idade'> <!-- é por eles que o php vai pegar os valores dos campos -->
<teatarea name='mensagem'></textarea>
<input type='submit' name='enviar' value='Enviar'>
</form>
...
página **enviar_email.php**
//isset checa se o botão enviar foi clicado e só vai disparar o email se for verdadeiro
if(isset($_POST['enviar'])){
$assunto = "solicitação de orçamento";
// pegando os dados do form...
$msg = "Nome: " . $_POST["nome"] . "<br>";
$msg .= "Email: " . $_POST["email"] . "<br>";
$msg .= "Idade: " . $_POST["idade"] . "<p>";
$msg .= "Mensagem:<br>" . $_POST["mensagem"];
// email onde tu vai receber a mensagem
$destinatario = "meuemail@gmail.com";
// headers que prepara a mensagem
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=utf-8\r\n";
$headers .= "From: " . $_POST["nome"] . "<" . $_POST["email"] . ">\r\n";
$headers .= "Reply-To: " . $_POST["email"] . "\r\n";
// envia o email...
mail($destinatario,$assunto,$msg,$headers);
// volta para contato.html
header("Location: contato.html");
}
mais ou menos isso veja se consegue adaptarMarsolim, me esclarece uma questão!
Quem tem a capacidade de enviar o email é o servidor através da linguagem php, certo?
Vamos imaginar o seguinte: crio um servidor ubuntu server, instalo o php mais o apache ou nginx e com a tua abordagem consigo enviar emails via servidor a partir dos meus clientes (pc ligados na rede do servidor ubuntu server). Certo?
não é só ter o servidor php não tem que ter um servidor de email também instalado e ainda habilitar umas linhas no .ini do php veja os posts desse tópico https://pt.stackoverflow.com/questions/40858/como-enviar-e-mail-do-localhost-usando-a-função-mail-do-php
@marsolim
Obrigado pela dica, vou ler! Por favor coloque pontuação na sua mensagem! Quase que não a consegui ler! :(
Pessoal, dúvida de alguém que acabou de começar: eu só consigo testar esse formulário depois que o site estiver online?
Aqui tem um post que explica como enviar um formulário por email de uma forma bem simples.
>
Em 22/04/2017 at 13:39, marsolim disse:
a melhor forma é usando php ou outra linguagem server side. tu pode criar o formulário numa página html mesmo e envia para uma php que pega os dados e envia usando uma biblioteca de email do próprio php algo tipo
página contato.html
...
<form method='post' action='enviar_email.php'> <!-- os dados vai ser enviado para a página que está definida no action=' ' -->
<input type='text' name='nome'>
<input type='text' name='email'> <!-- observa o name em cada um dos campos -->
<input type='text' name='idade'> <!-- é por eles que o php vai pegar os valores dos campos -->
<teatarea name='mensagem'></textarea>
<input type='submit' name='enviar' value='Enviar'>
</form>
...
página **enviar_email.php**
//isset checa se o botão enviar foi clicado e só vai disparar o email se for verdadeiro
if(isset($_POST['enviar'])){
$assunto = "solicitação de orçamento";
// pegando os dados do form...
$msg = "Nome: " . $_POST["nome"] . "<br>";
$msg .= "Email: " . $_POST["email"] . "<br>";
$msg .= "Idade: " . $_POST["idade"] . "<p>";
$msg .= "Mensagem:<br>" . $_POST["mensagem"];
// email onde tu vai receber a mensagem
$destinatario = "meuemail@gmail.com";
// headers que prepara a mensagem
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=utf-8\r\n";
$headers .= "From: " . $_POST["nome"] . "<" . $_POST["email"] . ">\r\n";
$headers .= "Reply-To: " . $_POST["email"] . "\r\n";
// envia o email...
mail($destinatario,$assunto,$msg,$headers);
// volta para contato.html
header("Location: contato.html");
}
mais ou menos isso veja se consegue adaptar
Não funcionou, o email não está sendo enviado, o que fiz errado?>
Em 15/04/2018 at 00:43, LCher disse:
Pessoal, dúvida de alguém que acabou de começar: eu só consigo testar esse formulário depois que o site estiver online?
Sim, em questão de enviar emails é só quando o site ja estiver no ar, mas se você quiser só testar suas habilidades em fazer forms pode fazer tudo off msm.
>
Em 22/04/2017 at 13:39, marsolim disse:
a melhor forma é usando php ou outra linguagem server side. tu pode criar o formulário numa página html mesmo e envia para uma php que pega os dados e envia usando uma biblioteca de email do próprio php algo tipo
página contato.html
...
<form method='post' action='enviar_email.php'> <!-- os dados vai ser enviado para a página que está definida no action=' ' -->
<input type='text' name='nome'>
<input type='text' name='email'> <!-- observa o name em cada um dos campos -->
<input type='text' name='idade'> <!-- é por eles que o php vai pegar os valores dos campos -->
<teatarea name='mensagem'></textarea>
<input type='submit' name='enviar' value='Enviar'>
</form>
...
página **enviar_email.php**
//isset checa se o botão enviar foi clicado e só vai disparar o email se for verdadeiro
if(isset($_POST['enviar'])){
$assunto = "solicitação de orçamento";
// pegando os dados do form...
$msg = "Nome: " . $_POST["nome"] . "<br>";
$msg .= "Email: " . $_POST["email"] . "<br>";
$msg .= "Idade: " . $_POST["idade"] . "<p>";
$msg .= "Mensagem:<br>" . $_POST["mensagem"];
// email onde tu vai receber a mensagem
$destinatario = "meuemail@gmail.com";
// headers que prepara a mensagem
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=utf-8\r\n";
$headers .= "From: " . $_POST["nome"] . "<" . $_POST["email"] . ">\r\n";
$headers .= "Reply-To: " . $_POST["email"] . "\r\n";
// envia o email...
mail($destinatario,$assunto,$msg,$headers);
// volta para contato.html
header("Location: contato.html");
}
mais ou menos isso veja se consegue adaptar
ele não ta enviando completo ali quando coloco o resto das informações como numero de celular ou algo assim ele envia só a ultima caixa de informação q pede no formulário. o resto não vai>
Em 27/11/2018 at 18:05, gilbertjuniors disse:
Não funcionou, o email não está sendo enviado, o que fiz errado?
seu php nos valores que ele busca do html tem q ser ASPAS simples e esta dupla!
voce conseguiu descobrir? estou com o mesmo problema