2017-04-17 38 views
1

我無法用PHPMailer發送電子郵件。我已經閱讀了很多關於這個問題,但沒有人能幫助我PHPMailer錯誤:

這是我的配置:

$this->IsSMTP(); 
$this->SMTPAuth = true; 
$this->SMTPDebug = 2; 
$this->CharSet = "UTF-8"; 
$this->Port = 587; 
$this->Host = gethostbyname('smtp.googlemail.com'); //fix ipv6 problems 
$this->SMTPSecure = 'tls'; 

這是調試:

SMTP -> FROM SERVER:220 smtp.googlemail.com ESMTP m62sm4902317qte.5 - gsmtp 
SMTP -> FROM SERVER: 250-smtp.googlemail.com at your service, [189.61.226.25] 
250-SIZE 35882577 
250-8BITMIME 
250-STARTTLS 
250-ENHANCEDSTATUSCODES 
250-PIPELINING 
250-CHUNKING 
250 SMTPUTF8 
SMTP -> FROM SERVER:220 2.0.0 Ready to start TLS 
SMTP -> FROM SERVER: 
SMTP -> ERROR: RSET failed: 
SMTP -> NOTICE: 
EOF caught while checking if connected 

+0

可能重複[SMTP GMAIL連接](http://stackoverflow.com/questions/31058038/smtp-gmail-connection) –

+0

這不是同一個問題,我可以連接,問題是在TLS協議啓動後 –

+0

使用PHPMailer的舊版本。更新。 – Synchro

回答

-1

你可以用這個

define('GUSER', '[email protected]'); // GMail username 
    define('GPWD', 'Password'); // GMail password 
global $error; 
    require_once('phpmailer/class.phpmailer.php'); 
$mail = new PHPMailer(); // create a new object 
//$mail->IsSMTP(); // enable SMTP 
$mail->SMTPDebug =1; // debugging: 1 = errors and messages, 2 = messages only 
$mail->SMTPAuth = true; // authentication enabled 
    $mail->SMTPSecure = false; 
$mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for GMail 
$mail->Host = 'smtp.gmail.com'; 
$mail->Port = 465; 

$mail->Username = GUSER; 
$mail->Password = GPWD;   
$mail->SetFrom($from, $from_name); 
$mail->Subject = $subject; 


    $mail->IsHTML(true); // send as HTML 

    $mail->Body = $body; 
    $mail->AltBody = $mail->Body; 

$mail->AddAddress($to); 
+0

基於過時示例的不明原因代碼發佈。不試圖回答這個問題。 – Synchro