Boa tarde.
Galera, estou com um problema chato.
Tenho um formulário de contato e quando envio um e-mail de contato, o e-mail até chega, porem não é passado os valores dos input’s, exceto a mensagem.
Aqui está o codigo do meu formulário:
<form id="contactform" name="contactform" action="email.php" method="POST" >
<div class="row form-group">
<div class="col-md-12">
<!-- <label for="fname">First Name</label> -->
<input type="text" id="name" class="form-control" placeholder="Nome"
required>
</div>
</div>
<div class="row form-group">
<div class="col-md-12">
<!-- <label for="email">Email</label> -->
<input type="email" id="email" class="form-control" placeholder="E-mail"
required>
</div>
</div>
<div class="row form-group">
<div class="col-md-12">
<!-- <label for="subject">Subject</label> -->
<input type="text" id="subject" class="form-control"
placeholder="Assunto">
</div>
</div>
<div class="row form-group">
<div class="col-md-12">
<!-- <label for="message">Message</label> -->
<textarea name="message" id="message" cols="30" rows="10" class="form-control"
placeholder="Mensagem" required></textarea>
</div>
</div>
<div class="form-group">
<input id="submit" name="submit" type="submit" value="Envie sua mensagem"
class="btn btn-primary">
</div>
</form>
Aqui está meu codigo do PHPMailer:
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require_once 'vendor/autoload.php';
if (isset($_POST) && !empty($_POST)){
try {
$mail = new PHPMailer();
//Server settings
$mail->SMTPDebug = 0;
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->SMTPAuth = true;
$mail->Username = 'contatosites00@gmail.com';
$mail->Password = '*************';
$mail->SMTPSecure = 'tls';
$mail->Port = 587;
//Recipients
$mail->setFrom('lvt.leonardo@gmail.com', 'Leo');
$mail->addAddress('lvt.leonardo@gmail.com', 'Leo');
$mensagem = "<strong>Contato site</strong><br><br>";
$mensagem .= "<strong>Nome:</strong> " . $_POST['name'] . "<br>";
$mensagem .= "<strong>E-mail:</strong> " . $_POST['email'] . "<br>";
$mensagem .= "<strong>Mensagem: </strong> " . $_POST['message'] . "<br>";
//Content
$mail->isHTML(true);
$mail->Subject = $_POST['subject'];
$mail->Body = nl2br($mensagem);
//$mail->AltBody = $mensagem;
if($mail->send()){
$mail->ClearAllRecipients();
echo json_encode(array('status' => 'OK', 'mensagem' => 'E-mail enviado com sucesso!'));
header('Location: /agradecimentos.php');
}else{
$mail->ClearAllRecipients();
echo json_encode(array('status' => 'ERRO', 'mensagem' => $mail->ErrorInfo));
header('Location: /error.php');
}
} catch (Exception $e) {
$mail->ClearAllRecipients();
echo json_encode(array('status' => 'ERRO', 'mensagem' => $mail->ErrorInfo));
header('Location: /error.php');
}
}
Eu recebo a mensagem assim:
Contato site
- Nome:
- E-mail:
- Mensagem: (aqui eu recebo o que escrevo no input mensagem)
Porem, o que digito no Nome, e-mail e Assunto eu não recebo, ele aparece em branco.