>

메일 박스로 아무 문제없이 이메일을 보낼 수 있지만 발신자는 항상 내 이메일 주소이며 발신자가 연락처 양식을 작성한 사람의 실제 이메일이되기를 원하므로 직접 회신 할 수 있습니다.

<?php
require 'phpmailer/PHPMailerAutoload.php';
$mail = new PHPMailer();
function SendMail($to, $from, $body, $mail)
{
$mail->SMTPOptions = array(
'ssl' => array(
    'verify_peer' => false,
    'verify_peer_name' => false,
    'allow_self_signed' => true
)
);
$mail->isSMTP();
$mail->Host = "smtp.office365.com";
$mail->Port = "587";
$mail->Username = "MY EMAIL ADDRESS HERE";
$mail->Password = "MY PASSWORD";
$mail->SMTPAuth = true;
$mail->SMTPSecure = 'tls';
// Send the mail
$mail->From = "MY EMAIL ADDRESS HERE";
$mail->setFrom($from, "Contact Form Request");
$mail->AddAddress("MY EMAIL ADDRESS HERE", "Mick");
$mail->Subject = "Contact Form Request";
$mail->Body = $body;
if($mail->send())
{
    return true;
}else{
  var_dump($mail->ErrorInfo);
  die();
  return false;
}
}
if ($_POST["submit"]) {
$userDetails = array(
"sender" => $_POST['name'],
"senderEmail" => $_POST['email'],
"phone"       => $_POST['phone'],
"address1"    => $_POST['address1'],
"address2"    => $_POST['address2'],
"address3"    => $_POST['address3'],
"postcode"    => $_POST['postcode'],
"skipsize"    => $_POST['skipsize'],
"delivery"    => $_POST['delivery'],
"message"     => $_POST['message'],
"pickup"      => $_POST['pickup'],
);

$mailBody .= "Name: $userDetails[sender] \n";
$mailBody .= "Email: $userDetails[senderEmail] \n";
$mailBody .= "Phone Number: $userDetails[phone] \n";
$mailBody .= "Address: $userDetails[address1], $userDetails[address2], $userDetails[address3], $userDetails[$postcode] \n";
$mailBody .= "Phone Number: $userDetails[phone] \n";
$mailBody .= "Skip Size Wanted: $userDetails[skipsize] \n";
$mailBody .= "Delivery Date Wanted: $userDetails[delivery] \n";
$mailBody .= "Pick Up Date Wanted: $userDetails[pickup] \n";
$mailBody .= "Message: $userDetails[message] \n";
if(SendMail("[email protected]", $from, $mailBody, $mail))
{
    $thankYou="<p class='thankyou'>Thank you! Your message has been sent.</p>";
}else{
}
}
?>

내가 무엇을 놓치고 있습니까? 나를 괴롭 히고 온라인으로 직접 응답하지 않습니다.

도움이 될 것입니다

  • 답변 # 1

    정말 이러고 싶지 않아! 위조되었으며 SPF 검사가 실패하여 메시지가 반송되거나 스팸으로 필터링됩니다.

    이 작업을 수행하십시오 :

    $mail->From = "MY EMAIL ADDRESS HERE";
    $mail->From = "MY NAME HERE";
    if (!$mail->addReplyTo($_POST['email'])) {
        die('Invalid email address');
    }
    
    

    이전 버전의 PHPMailer를 사용 중입니다. 최신 버전을 받으십시오.

    또한 TLS 인증서 유효성 검사를하지 마십시오. Office365는 유효하지 않은 인증서를하지 않습니다. 인증서가 실패하면 ISP에서 SMTP 트래픽을 가로 채서 리디렉션하는 등의 다른 문제로 인해 발생합니다. 이는 매우 일반적입니다. 실패한이유를 찾고 ISP가 제공하는 전송 메커니즘을 사용하십시오. 그러면 제출자의 보낸 사람 주소를 위조 할 수없는 것과 같은 이유로 Office365 주소를 사용하지 못할 수 있습니다.

    이 모든 것은 PHPMailer와 함께 제공되는 연락처 양식 예제에서 설명됩니다.

  • 이전 python - keras에 저장된 모델로 CNN 계속 훈련
  • 다음 ionic framework - chromesocketsudp 성공적으로 브로드 캐스팅하는 방법?