2015-09-10 105 views
0

我得到錯誤SMTP連接的PHPMailer()失敗與本地主機的PHPMailer:得到錯誤SMTP連接()失敗與本地主機

2015-09-10 09:34:48 Connection: opening to ssl://smtp.gmail.com:587, timeout=300, options=array () 2015-09-10 09:34:48 SMTP ERROR: Failed to connect to server: (0) 2015-09-10 09:34:48 SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting Message could not be sent.Mailer Error: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

  1. 是它的PHPMailer不能在本地主機上運行?
  2. 如果我真的想在本地主機上運行,​​我該如何更改代碼?
  3. 我嘗試使用mailto函數是爲我工作,但我想改變整個事情。
  4. 可以給出任何建議。我真的很想學習它。

    這是github上的代碼: require'PHPMailer/PHPMailerAutoload.php';

    $mail = new PHPMailer; 
    
        //$mail->SMTPDebug = 4;        // 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 = 'mygmailpassword';       // SMTP password 
        $mail->SMTPSecure = 'ssl';       // Enable TLS encryption, `ssl` also accepted 
        $mail->Port = 465;         // TCP port to connect to 
        //$mail->Host = 'tls://smtp.gmail.com:587'; 
    
        $mail->From = '[email protected]'; 
        $mail->FromName = 'Mailer'; 
        $mail->addAddress('[email protected]', 'Joe User');  // Add a recipient 
    
        $mail->isHTML(true);         // Set email format to HTML 
    
        $mail->Subject = 'Here is the subject'; 
        $mail->Body = 'This is the HTML message body <b>in bold!</b>'; 
        $mail->AltBody = 'This is the body in plain text for non-HTML mail clients'; 
    
        if(!$mail->send()) { 
         echo 'Message could not be sent.'; 
         echo 'Mailer Error: ' . $mail->ErrorInfo; 
        } else { 
         echo 'Message has been sent'; 
        } 
    
+0

你可以分享可能需要更改的代碼嗎?據我所知,迄今爲止,您只發布了錯誤消息。 – lenz

+0

這是我從github複製的代碼。我確實改變了sendmail.ini和php.ini文件,但仍然無法正常工作。 – ikramlim

回答

1

PHPMailer的正常工作在所有系統上。

我認爲你有一箇舊的openssl擴展或你的擴展沒有啓用。如果啓用了openssl,請使用phpinfo()進行檢查。

如果不是,則在您的php.ini中啓用它。

而另一種方式是Google似乎有一些問題。當我嘗試發送電子郵件時,我也有與Thunderbird的連接問題。我必須嘗試一些時間才能連接到Gmail。

+0

對不起,我仍然在這裏..如何啓用phpinfo()。我在哪裏可以找到它?對不起 – ikramlim

+0

我確實改變了這樣的gmail設置:https://i.gyazo.com/57caeeb9fab1ce7d832b6005dcc03524.png – ikramlim

0

我的建議是,請嘗試使用「TLS」與端口587,而不是「SSL」與端口587

另外,請檢查您是否包括class.phpmailer.php(即:需要「class.phpmailer。 PHP';),如果你正在做,請評論它,並嘗試。

+0

仍然錯誤太多改變端口465至587,並要求'PHPMailer/class.phpmailer.php'; – ikramlim

+0

請嘗試給這個tls而不是ssl。 $ mail-> SMTPSecure ='ssl'; – Murali

+0

嘗試..仍然沒有改變。 – ikramlim

相關問題