2016-01-08 53 views
2

我正在尋找在谷歌約18小時,我的神經是非常糟糕......甚至在計算器SMTP錯誤:無法驗證 - 使用Gmail,自己的VPS服務器

首先,我是學生,所以對不起,我的英語不好

我想要做的事情: 我正準備安裝Ubuntu 14.04的新VPS服務器,以及最新版本的Postfix,從此VPS接收和發送電子郵件(約5000個客戶端)。此外,我配置了我的後綴.. 在我的領域我使用了最新的PHPMailer以及和PHP 5.5

我想我的域名連接到SMTP的VPS和發送電子郵件從這個VPS到另一個服務器...

我的問題:

<?php 

    require_once("mailer/class.phpmailer.php"); 
    require_once("mailer/class.smtp.php"); 

    $mail = new PHPMailer(); 
    $mail->IsSMTP(); // telling the class to use SMTP 

    $mail->SMTPSecure  = false; 
    $mail->Host   = "mail.xxx.cz"; 
    $mail->SMTPAuth  = true; 
    $mail->SMTPKeepAlive = true; 
    $mail->Port   = 587; 
    $mail->Username  = "[email protected]"; 
    $mail->Password  = "TEST"; 
    $mail->SMTPDebug  = 3; 

    $mail->FromName  = "Michal"; 
    $mail->From   = "[email protected]"; 
    $mail->Subject  = "Newsletter"; 

    $mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; 
    $mail->MsgHTML("testing"); 
    $mail->AddAddress("[email protected]"); 

    if(!$mail->Send()) { 
     echo $mail->ErrorInfo; 
     exit; 
    } 
    echo "Message has been sent"; 

?> 
: 我嘗試了很多配置和替代品,仍然有這個錯誤,我的PHP腳本不能從那裏我發送電子郵件連接到我的SMTP主機

我的PHP文件

我的VPS Postfix配置: http://fio.filfar.eu/files/Xj4qBxbYsi.png

從PHP腳本我的SMTP錯誤日誌(PHPMailer.php - 調試模式3):

2016-01-08 12:03:35 Connection: opening to mail.xxx.cz:587, timeout=300, options=array (
            ) 
2016-01-08 12:03:35 Connection: opened 
2016-01-08 12:03:35 SERVER -> CLIENT: 220 vm1xxxx ESMTP Postfix (Ubuntu) 
2016-01-08 12:03:35 CLIENT -> SERVER: EHLO blog.xxx.cz 
2016-01-08 12:03:35 SERVER -> CLIENT: 250-vm1xxxx 
             250-PIPELINING 
             250-SIZE 10240000 
             250-VRFY 
             250-ETRN 
             250-ENHANCEDSTATUSCODES 
             250-8BITMIME 
             250 DSN 
2016-01-08 12:03:35 SMTP Error: Could not authenticate. 
2016-01-08 12:03:35 CLIENT -> SERVER: QUIT 
2016-01-08 12:03:35 SERVER -> CLIENT: 221 2.0.0 Bye 
2016-01-08 12:03:35 Connection: closed 
2016-01-08 12:03:35 SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting 
SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting 

我相信,我的用戶名和密碼是正確的,花了幾個小時到那太...

非常感謝每個想要幫助的人。 我不能解決這個問題...

+0

您使用的是舊版本的PHPMailer。 [獲取最新版本](https://github.com/PHPMailer/PHPMailer)並將代碼基於隨附的示例。 – Synchro

+0

我已經更新了它,沒有任何內容..我要試試,你寫下的內容更低..謝謝你的回覆。 –

回答

0

我想你需要首先檢查你的smtp細節。 您可以在線查看http://smtper.nanogenesis.fr/

+0

還沒有。它無法連接:發送郵件失敗。 無法連接到遠程服務器,連接嘗試失敗,因爲連接方在一段時間後沒有正確響應,或者由於連接的主機未能響應xx.xx.xx.xx而導致建立的連接失敗。我不知道,因爲它連接到服務器,但SMTP不工作.. –

0

您正在連接到端口587(SMTP提交協議端口),但是您的服務器在連接時未在其功能列表中提供AUTH或STARTTLS命令,所以沒有辦法爲您的客戶端進行身份驗證。你需要修復你的postfix服務器配置。

+0

所以,我需要TLS或SSL安全?我只需要簡單的身份驗證而沒有安全問題,我應該使用另一個端口嗎?我正在使用smtp_sasl_auth_enabled =是所以認證應該啓用或不? –

+0

根據RFC提交通過端口587需要STARTTLS支持。如果你不想要求認證(因爲你的郵件服務器是本地的),只需提交到本地主機端口25,但不要認證,但要確保你不是一個開放的中繼 – Synchro

相關問題