Formulario de inscrição em html


(Nsundidi Jorge) #1

Oi Pessoal eu sou o jorge e sou iniciante ainda na area de desenvolvimento de websites. Eu estou a criar um formulario em html, que quando o usuario faça o preecimento do formulario, ao enviar, quero que vai direito para um email.

Agora a minha dificuldade é como faço isso?
Obrigado


(Rômulo Bastos) #2

E aí, @Jorge!

Cara, uma forma simples de enviar é usando php.
Existem alguns exemplos de envio por aí...Dê uma olhada nesses 2.

http://www.devmedia.com.br/enviar-formulario-por-e-mail-php/21757
https://www.hospedaria.com.br/ajuda/7_como-enviar-e-mails-usando-o-php

Abraço! :v:


(Luã Ciceri Schwertner) #4

Boa tarde @Jorge, como disse que está iniciando na programação vou lhe passar um exemplo bem simples de formulário usando PHP.

Primeiro você cria um arquivo index.php onde irá colocar o html do seu formulário, segue exemplo:

<form action="envia-contato.php" id="frmContato" method="POST">
	<input type="text" name="nome" placeholder="Nome">
	<input type="email" name="email" placeholder="Email">
	<input type="tel" name="telefone" placeholder="Telefone">
	<input type="text" name="assunto" placeholder="Assunto">
	<textarea name="mensagem" placeholder="Mensagem" rows="5"></textarea>
	<input type="submit" value="Enviar">
</form>

Posterior vamos criar o arquivo envia-contato.php que é o arquivo de action do nosso form, ou seja, o arquivo que pegará os dados do formulário e enviará por email.

// Destinatário
$para = "email@email.com";

// Assunto do e-mail
$assunto = "Contato do através do site Teste.";

// Campos do formulário de contato 
$nome = $_POST['nome']; //aqui o que vai entre [] tem que ter o mesmo nome do name do input
$email = $_POST['email'];
$telefone = $_POST['telefone'];
$ass = $_POST['assunto'];
$mensagem = $_POST['mensagem'];

// Monta o corpo da mensagem com os campos
$corpo = "Nome: $nome <br>";
$corpo .= "Email: $email <br>Telefone: $telefone <br>Assunto: $ass <br>Mensagem: $mensagem";

// Cabeçalho do e-mail
$email_headers = implode("\n", array("From: $nome", "Reply-To: $email", "Subject: $assunto", "Return-Path: $email", "MIME-Version: 1.0", "X-Priority: 3", "Content-Type: text / html;
charset = UTF-8"));

if (!empty($nome) && !empty($email) && !empty($mensagem)) { //testa de os campos obrigatorios nao estao vazios
    mail($para, $assunto, $corpo, $email_headers); //envia o email através da função mail
    $msg = "Sua mensagem foi enviada com sucesso."; //mostra a mensagem ao usuario
     //apos o envio do formulário levá o usuário a página desejada, é só passar o caminho.
    echo "<script>alert('$msg');window.location.assign('http://www.seusite.com');</script>";
} else {
    $msg = "Erro ao enviar a mensagem."; //mostra a mensagem ao usuario
     //apos o envio do formulário levá o usuário a página desejada, é só passar o caminho.
    echo "<script>alert('$msg');window.location.assign('http://www.seusite.com);</script>";
}

Acho que essa é umas das maneiras mais simples de se começar a entender como é feito o envio de formulários por PHP.
Espero ajudar e qualquer dúvida é só dar um grito :wink:.


(Augusto Borges De Moura) #5

Lembrando que o servidor precisa ter suporte para isso, coisa que alguns servidores gratuitos não têm.

Se não quiser usar php, você pode usar o velho e bom link mailto, ele não envia um email propriamente dizendo, mas encaminha o usuário pro seu serviço de email (hotmail, gmail, outlook) já com umas pré-formatações. Link de um guiazinho simples em inglês:
https://css-tricks.com/snippets/html/mailto-links/

Obs.: Como muitos usuários comuns não configuram muito bem seus serviços de emails e a relação com o navegador, pode ser que não funcione tão bem, eu desaconselho usar em sites finalizados ou profissionais, como você disse que está aprendendo vale dar uma brincadinha com ele


(Carlos Fabio) #6

@lciceris odes me enviar o mesmo exemplo usando JS?