2016-11-05 108 views
3

以下代碼適用於我的xampp本地服務器,但不會在遠程主機上發送電子郵件。我得到這個錯誤:PHPMailer不支持Gmail SMTP

Message could not be sent.Mailer Error: SMTP connect() failed

require_once('header.php'); 
require_once('PHPMailer/PHPMailerAutoload.php'); 
function sendMail($address, $message){ 
    $mail = new PHPMailer; 
    //$mail->SMTPDebug = 3;     // Enable verbose debug output 
    $mail->isSMTP();      // Set mailer to use SMTP 
    $mail->Host = 'smtp.gmail.com';   // Specify main and backup SMTP servers 
    $mail->SMTPAuth = true;     // Enable SMTP authentication 
    $mail->Username = '[email protected]'; // SMTP username 
    $mail->Password = 'mypass';    // SMTP password 
    $mail->SMTPSecure = 'tls';    // Enable TLS encryption, `ssl` also accepted 
    $mail->Port = 587;      // TCP port to connect to 
    $mail->SMTPOptions = array(
     'ssl' => array(
      'verify_peer' => false, 
      'verify_peer_name' => false, 
      'allow_self_signed' => true 
    ) 
    ); 
    $mail->setFrom('[email protected]', 'ID Test'); // Add a recipient 
    $mail->addAddress($address);    // Name is optional 
    //$mail->addReplyTo('[email protected]', 'Information'); 
    //$mail->addCC('[email protected]'); 
    //$mail->addBCC('[email protected]'); 

    $mail->isHTML(false);      // Set email format to HTML 

    $mail->Subject = 'Twitter search'; 
    $mail->Body = $message; 
    //$mail->AltBody = 'This is the body in plain text for non-HTML mail clients'; 

    $mail->send(); 
} 
+3

http://php.net/manual/en/function.error-reporting.php --- https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting –

+1

還有一個PhpMailer的調試標誌,讀取文檔,搜索類似的問題。 – Progrock

回答

2

我有麻煩與PHPMailer的過去,當使用Gmail的服務器設置爲TLS認證協議和端口號587,我不記得曾經的組合爲我工作。不過,我從來沒有遇到過使用SSL/465的問題。

取而代之的是:

// Your Current Settings 
$mail->SMTPSecure = 'tls'; 
$mail->Port = 587; 

試試這個:

// Updated Settings 
$mail->SMTPSecure = 'ssl'; 
$mail->Port = 465; 

的更多信息: