2013-10-30 4 views
0

그래서 PHPMailer를 사용하여 웹 사이트의 이메일 양식을 처리하려고합니다.메일 보내기 PHPMailer가 작동하지 않습니다.

내가 찾은 튜토리얼을 기반으로 여기에 코드를 작성했습니다.

<?php 
     error_reporting(E_ALL); 
     require_once("class.phpmailer.php"); 
     include("class.smtp.php"); 

     $email = new PHPMailer(); 

     // 
     // Set server details for send 
     // 
     $email->IsSMTP(); 
     $email->Host = "mail.loganyoung.za.net"; 
     $email->Port = 25; 
     $email-SMTPAuth = true; 
     $email->Username = "<my email>"; 
     $email->Password = "<my password>"; 

     // 
     // Send mail from the contact form 
     // 
     $to = "<my email>"; 
     $from = $_POST["from"]; 
     $name = $_POST["name"]; 
     $subject = "From web: ".$_POST["subject"]; 
     $message = $_POST["message"]; 

     $body = "<p>Hi Logan,</p>"; 
     $body .= "<p>You have received a new query on your website.<br />Please see below:</p>"; 
     $body .= "<p>"; 
     $body .= str_replace("\r\n", "<br />", $message); 
     $body .= "</p>"; 

     $email->SetFrom($from, $name); 
     $email->AddReplyTo($from, $name); 
     $email->AddAddress($to, "LoganYoung.za.net"); 
     $email->Subject = $subject; 
     $email->Body = $body; 
     $email->IsHTML = true; 

     session_start(); 
     if(!$email->Send()) {   
       $_SESSION["mailresult"] = "success"; 
       echo "success"; 
     } else { 
       echo "<p>Failed:</p><p>".$email->ErrorInfo."</p>"; 
       $_SESSION["mailresult"] = "failed"; 
       $_SESSION["mailerror"] = $email->ErrorInfo; 
     } 

?> 

내가 ...이 될 수 전송하지 않는

  • 잘못된 SMTP 세부 사항을 가능한 이유를 파악 (아마도 해결하기 위해 SMTP의 인증없이 보내?)
  • 처리기 점점되지 POST 데이터를 (를 전송하는 아약스)하지만
  • 내가 식별 할 수 아니에요 코드 일부 문제를 ... 잘 작동하는 것 같다

가능성을 제거하기위한 수단으로, 여기 누군가 코드에서 잘못된 점을 발견 할 수 있습니까? 그렇다면 무엇이 잘못되었으며 어떻게 수정합니까?

미리 감사드립니다.

+0

($ 이메일 -> 보내기()) {'없이''! '- 이것은''NOT/NO email ...' '-'!'이 PHP의 부정 기호임을 나타냅니다. –

+0

잘 찾아 냈습니다. 코드를 업데이트했지만 도움이되지 않는 것 같습니다. Chrome의 개발 도구에 세션이 생성되지 않는 것을 볼 수 있습니다. – Ortund

답변

1
$email-SMTPAuth = true; 

이 있어야이지 않는다 : 경우는`경우 (! $ 이메일 ->하는 보내기()) {`아마`해야

$email->SMTPAuth = true; 
관련 문제