2017-04-17 79 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