-1
I am using PHP Mailer to send the contact form I have on my site, I wonder if there is any way in which the contact is sent already with the email address filled in the form email field as sender, to facilitate at the time when I will give the answer to the customer?
<?php
header('Content-Type: application/json');
date_default_timezone_set('America/Sao_Paulo');
require('class/class.phpmailer.php');
$mail = new PHPMailer();
// Define que a mensagem será SMTP
$mail->IsSMTP();
$mail->Port = 111;
// Host do servidor SMTP
$mail->Host = 'teste.smtp.teste';
// Autenticação | True
$mail->SMTPAuth = true;
$mail->SMTPSecure = false; // Define se é utilizado SSL/TLS - Mantenha o valor "false"
$mail->SMTPAutoTLS = false; // Define se, por padrão, será utilizado TLS - Mantenha o valor "false"
// Usuário do servidor SMTP
$mail->Username = '[email protected]';
// Senha da caixa postal utilizada
$mail->Password = '12345';
// Para quem será enviado
$mail->From = $mail->Username;
$mail->FromName = 'Nome De Quem Esta Enviando';
$mail->AddCC('[email protected]', 'Fulano');
// Define que o e-mail será enviado como HTML | True
$mail->IsHTML(true);
// Charset da mensagem (opcional)
$mail->CharSet = 'utf-8';
// Assunto da mensagem
$mail->Subject = 'OBA! Chegou novo contato do site.';
// Conteúdo no corpo da mensagem
$mail->Body = '
<table>
<tr>
<p>Cliente solicitando contato através do formulário do site.</p>
</tr>
<tr>
<td>Nome: </td>
<td>' . $_POST['nome'] . '</td>
</tr>
<tr>
<td>Email: </td>
<td>' . $_POST['email'] . '</td>
</tr>
<tr>
<td>Telefone: </td>
<td>' . $_POST['fone'] . '</td>
</tr>
<tr>
<td>Cidade do Cliente: </td>
<td>' . $_POST['cidade'] . '</td>
</tr>
<tr>
<td>Atividade Escolhida: </td>
<td>' . $_POST['atividade'] . '</td>
</tr>
<tr>
<td>Mensagem: </td>
<td>' . $_POST['msgcontato'] . '</td>
</tr>
</table>
';
// Conteúdo no corpo da mensagem(texto plano)
$mail->AltBody = '
Cliente solicitando contato através do formulário do site
Nome: ' . $_POST['nome'] . ',
Email: ' . $_POST['email'] . ',
Telefone: ' . $_POST['fone'] . ',
Cidade: ' . $_POST['cidade'] . ',
Atividade Escolhida: ' . $_POST['atividade'] . ',
Mensagem: ' . $_POST['msgcontato'] . '
';
//Envio da Mensagem
$enviado = $mail->Send();
$mail->ClearAllRecipients();
if ($enviado) {
echo json_encode([
'ok' => true,
'msg' => 'E-mail enviado com sucesso!'
]);
} else {
echo json_encode([
'ok' => false,
'msg' => 'Não foi possível enviar o e-mail.',
'debug' => 'Motivo do erro: ' . $mail->ErrorInfo
]);
}
?>
$mail->Sender = '[email protected]';
– Don't Panic
but I can pass a variable in Sender?
– user3866098
You managed to tie a knot with this question of yours. Who is using the form to send email? You to the user or the user to you?
– user60252
@Leocaracciolo changed account... I’m sorry for the bullshit, I don’t quite know how it works... But it is the user who fills in and the data is sent to me, hence the email he fills in I want to use as reply email, currently I have to pick up the filled email in the body of the message and then create an email and fill in manually
– Ricardo Feller
replaces
$mail->From = $mail->Username;
for$mail->From = $_POST['email'];
and replaces$mail->FromName = 'Nome De Quem Esta Enviando';
by $mail->Fromname = '$_POST['name']';– user60252