PHP form without the email field

1

I'd like to know a method for sending a form that does not have the email field. You will have only three fields: Nome , Telefone and Cidade .

However, when shipping arrives this way

ThecodeIhave:

<?phprequire_once('PHPMailer-master/PHPMailerAutoload.php');PHP_OS=="Linux" ? $quebra_linha = "\n" : $quebra_linha = "\r\n";

$nome = trim($_POST["nome"]);
$tel = $_POST["telefone"];
$cid = $_POST["cidade"];

switch ($cid) {
    case "ipatinga":
        $destino = "[email protected]";
        break;
    case "fabriciano":
        $destino = "[email protected]";
        break;
    case "timoteo":
        $destino = "[email protected]";
        break;
}


$email = "<br><b>NOME:</b> ".$nome."<br><b>TELEFONE:</b> ".$tel." <br>        <b>CIDADE:</b> ".$cid."</body></html>";

$mail = new PHPMailer();

$mail->IsMail();
$mail->SetFrom($eml, $nom);
$mail->Subject    = "Agendamento de visita";
$mail->MsgHTML($email);
$mail->AddAddress($destino, utf8_decode('Unimed'));


if (!$mail->send())
    $msgerro = "Não foi possível enviar sua mensagem de contato. Tente novamente dentro de alguns instantes.";
else
    $msgerro = "Sua mensagem de contato foi enviada com sucesso!";

?> 

How do you make sure that Root User and [email protected] have custom data?

    
asked by anonymous 03.10.2016 / 22:40

2 answers

1

It is good that you put a user and password authenticated to be used to send the email.

See your code working here .

Note that I have added variables that make the authentication smtp so that the sending is done in the best way. This authentication will use a true email for sending the email.

I also added the variable $eml and $nom which will be the email and custom name that you want.

Here is the complete code:

<?php

require_once('PHPMailer-master/PHPMailerAutoload.php');

PHP_OS == "Linux" ? $quebra_linha = "\n" : $quebra_linha = "\r\n";

$nome = trim($_POST["nome"]);
$tel = $_POST["telefone"];
$cid = $_POST["cidade"];

switch ($cid) {
    case "ipatinga":
        $destino = "[email protected]";
        break;
    case "fabriciano":
        $destino = "[email protected]";
        break;
    case "timoteo":
        $destino = "[email protected]";
        break;
}


$email = "<br><b>NOME:</b> ".$nome."<br><b>TELEFONE:</b> ".$tel." <br>           <b>CIDADE:</b> ".$cid."</body></html>";

$mail = new PHPMailer();

$mail->IsMail();
$mail->isSMTP();
//$mail->SMTPDebug = 2; retire o comentário para debugar
//$mail->Debugoutput = 'html';
$mail->Host = "mail.seusite.com.br"; //servidor smtp
$mail->Port = 25; //a porta do servidor smtp
$mail->SMTPAuth = true;
$mail->Username = "[email protected]"; //email que vai ser usado para enviar o email
$mail->Password = "senha"; //senha do email que vai ser usado para enviar o email

$eml = "[email protected]"; //dados personalizados que você deseja (email)
$nom = "Seu Nome Personalizado"; //dados personalizados que você deseja (nome)

$mail->SetFrom($eml, $nom);
$mail->Subject    = "Agendamento de visita";
$mail->MsgHTML($email);
$mail->AddAddress($destino, utf8_decode('Unimed'));


if (!$mail->send())
    $msgerro = "Não foi possível enviar sua mensagem de contato. Tente novamente dentro de alguns instantes.";
else
    $msgerro = "Sua mensagem de contato foi enviada com sucesso!";

?> 
    
04.10.2016 / 15:10
0

The configuration of PHPMailer appears to be correct, however, the variables that define the sender's name and email $ mail-> SetFrom are not defined: $ eml strong> and $ nom , at least in the code you posted here, do a test by replacing the parameters with fixed values, for example

$mail->SetFrom('[email protected]', 'Nome do Remetente');
    
03.10.2016 / 23:27