2015-08-04 5 views
2

У меня есть форма контакта которой пользователь типы его/ее детали, включая его/ее электронную почту, приведенный ниже код работает хорошоДобавление пользовательского заголовка с использованием PHPMailer

$mail    = new PHPMailer(); 
       $body    = $message; 
       $mail->IsHTML(true); 
       $mail->SMTPAuth = true; 
       $mail->Host  = "smtp.bizmail.yahoo.com"; 
       $mail->Port  = 587; 
       $mail->Username = "[email protected]"; 
       $mail->ContentType ='text/html'; 
       $mail->Password = "password"; 
       $mail->SMTPSecure = 'tls'; 
       $mail->SetFrom('[email protected]', 'my name',false); 
       $mail->Subject = $subject; 

       $mail->MsgHTML($body); 
       $mail->IsSMTP(); 
       $address = $to; 
       $mail->AddAddress($address, $name); 
       if(!$mail->Send()) { 
        return 0; 
       } else { 
        return 1; 
      } 

этот код посылает сообщение и заголовок «From: [email protected] ", но я хочу показать адрес электронной почты, который пользователь вводит в контактной форме. например, пользователь вводит [email protected], я хочу, чтобы из почты было «From: [email protected]», в котором другое доменное имя не находится в моем домене (т. е. малый бизнес)

ответ

2

Не делайте этого. Это подделка из адреса, и обычно это приведет к тому, что ваши сообщения не будут доставлены, потому что они не будут проверять SPF. Это особенно касается Yahoo, который на сегодняшний день является самым выдающимся провайдером. Поместите свой адрес в From (как вы сейчас делаете), и добавьте адрес отправителя в reply-to (см. addReplyTo() в PHPMailer).

Также вы основали свой код на старом примере, поэтому убедитесь, что вы используете современный пример и the latest PHPMailer.

Смежные вопросы