Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal estou finalizando um site institucional one page e, não vejo a necessidade de executar acionar o servidor php a toda abertura deste site.
Pensei em inciar o index.html e somente quando alguém que acessou o site clicar em enviar no formulário de contato ser executado um arquivo enviar.php exteno.
Coloquei os 2 arquivos na raiz public_html mas não o email não está sendo enviado
O código do formulário do index.html é o seguinte:
<form name="FrmContato" method="post" action="enviar.php">
<div class="form-group row">
<label class="col-sm-2 col-form-label">Empresa</label>
<div class="col-sm-10">
<input class="form-control" name="empresa" type="text" placeholder="Empresa">
</div>
</div>
<div class="form-group row">
<label class="col-sm-2 col-form-label">Nome</label>
<div class="col-sm-10">
<input class="form-control" name="nome" type="text" placeholder="Contato">
</div>
</div>
<div class="form-group row">
<label class="col-sm-2 col-form-label">Email</label>
<div class="col-sm-10">
<input class="form-control" name="email" type="email" placeholder="Email">
</div>
</div>
<div class="form-group row">
<label class="col-sm-2 col-form-label">Telefone</label>
<div class="col-sm-10">
<input class="form-control" name="fone" type="tel" placeholder="(55)-555-5555">
</div>
</div>
<div class="form-group row">
<label class="col-sm-2 col-form-label">Serviço</label>
<div class="col-sm-10">
<textarea rows="4" cols="50" name="message" form="usrform" class="form-control" placeholder="Descreva o serviço a ser executado"></textarea>
</div>
</div>
<button name="enviar" type="submit" class="btn btn-primary" style="float:right;">Enviar informações</button>
</form>
E o arquivo enviar.php é o seguinte
<?php
//isset checa se o botão enviar foi clicado e só vai disparar o email se for verdadeiro
if(isset($_POST['enviar'])){
$assunto = "Solicitar serviço";
// pegando os dados do form...
$empresa = $_POST['empresa'];
$nome = $_POST['nome'];
$email = $_POST['email'];
$fone = $_POST['fone'];
$mensagem = $_POST['message'];
// preparando a mensagem
$msg = "Este é um contato enviado pelo site por".$empresa."com as seguintes informações: <br>";
$msg .= "Nome (contato):". $Nome ."<br>";
$msg .= "Email:". $email ."<br>";
$msg .= "Telefone:". $fone ."<br><br>";
$msg .= "Mensagem:". $mensagem ."<br>";
// email onde tu vai receber a mensagem
$destinatario = "contato@meusite.com.br";
// 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: index.html");
}
?>
O que fiz errado?Cara, não consegui testar na hospedagem pois estou tendo problemas no FTP (meu provedor de internet acho que esta barrando, abri um chamado de suporte.)
Tentei configurar envio por localhost seguindo este tutorial Enviando emails através do Localhost
coloquei apenas o seguinte código no arquivo php
<?php
mail('meuemail@gmail.com','teste','mensagem');
?>
mas não deu certo, o que está errado?
Olá!
faça um teste simples assim pra ver se funciona:
mail('seu-email@google.com', 'Assunto', 'Mensagem de teste');