2017-04-10 16 views
-1

PHPMailer 및 SMTP에서 메일을 보내는데 문제가 있습니다. 이 코드를 작성했지만 스크립트에서 작동하지 않습니다. 메일러는 두 가지 버전이 있는데 첫 번째 버전은 SMTP없이 작동하지만 SMTP를 사용해야합니다.phpmailer를 사용하여 smtp를 통해 이메일 보내기

  1. SMTP 버전 없음.

  2. 두 번째 버전은 PHPMailer를 추가하지만 난 제출 누를 때, 그것은 단지로드에서 중지 아무것도 보내지 않습니다 :

내가 사용하는 SMTP를 위해 무엇을 할 것 인
require_once(dirname(__FILE__).'/../../config.php'); 
require(dirname("/mail/PHPMailerAutoload.php"); // path to the 
PHPMailerAutoload.php file. 

$mail->$fromEmail = NO_REPLY; 
$mail->$headers = "MIME-Version: 1.0" . "\r\n"; 
$mail->$headers .= "Content-Type: text/plain; charset=utf-8" . "\r\n"; 
$mail->$headers .= "From: ".$fromEmail. "\r\n"; 
$mail->$subject = $LANG["WBS_REGM_SUBJECT"]; 
$mail->mail($user_email,$subject,$details,$headers); 

$mail = new PHPMailer(); 
$mail->IsSMTP(); 
$mail->Mailer = "smtp"; 
$mail->Host = "localhost"; 
$mail->Port = "465"; // 8025, 587 and 25 can also be used. Use Port 465 for SSL. 
$mail->SMTPAuth = true; 
$mail->SMTPSecure = 'tls'; 
$mail->Username = "XXXXXXX"; 
$mail->Password = "XXXXXXXXX"; 

echo '<div id="mode">1</div>'; 
    } else { 
     echo '<div id="mode">2</div>'; 
    } 
} else { 
    echo '<div id="mode">3</div>'; 
} 
} 

? 이 버그를 어떻게 해결할 수 있습니까?

+0

귀하의 코드 사진이 아니라 실제 코드를 게시하십시오. –

+0

어떤 오류가 있습니까? –

+0

require 함수에서 전체 URL을 사용할 수 없으므로 대신 로컬 경로를 사용하십시오. – Jer

답변

0

웹 URL을 사용하여 파일을 포함 할 수 없습니다. 스크립트가 'database.init.php라는 예를 들어

<?php 
dirname(__FILE__); 
?> 

: 현재의 디렉토리에 파일을 포함 얻으려면

require(dirname(__FILE__) . "/path/to/phpmailer/PHPMailerAutoload.php"); 

을 : 당신이 그것을 필요로 다음 대신 로컬 경로를 사용 할 수 있습니다 같은 디렉토리에 낳는 database.class.php ','어디서든 파일 시스템 스크립트를 포함하고 싶어부터 포함되어있는 '당신은 사용할 수 있습니다

<?php 
include_once(dirname(__FILE__) . '/database.class.php'); 
?> 

참조 : http://php.net/manual/en/function.dirname.php합니다.

다음 단계는 서버가 SMTP 요청을 처리하도록 구성되어 있는지 확인하는 것입니다. 사용중인 SMTP 포트가 열려 있고 프로그램에서 사용할 수 있는지 확인하십시오.

+0

안녕하세요! 고마워,하지만 해냈어.하지만 효과가 없었어. 나는이 코드를 usr과 url없이 넣었다. –

+0

오류는 무엇입니까? 오류를 보려면 코드에'error_reporting (E_ALL);'을 추가하십시오. – Jer

+0

smtp를 통해 메시지를 보내야하지만 할 수 없습니다. –

0

코드가 웹 서버에 있습니까? 아니면 로컬에 있습니까? 이것은 문제가 될 수 있습니다!

$mail->Host = 'localhost' 

예를 들어 후위 이메일 서비스가없는 경우 지역 코드에 문제가있을 수 있습니다.

mail() 
+0

실제 서버의 스크립트가 로컬 서버가 아닙니다. –

+0

그리고 어떤 오류가 반환됩니까? –