2014-10-11 684 views
8

對不起,如果這是一條嚴重旅行的道路。我已經看到了關於這個的其他帖子,但他們沒有任何一個解決了我遇到的問題,或點燃了一個幫助我自己解決問題的燈泡。SMTP錯誤:無法連接到服務器:連接被拒絕(111)與Office365

這裏是我的代碼:

require 'PHPMailerAutoload.php'; 
$config = parse_ini_file('/path/to/file/config.ini', true); 
$mail = new PHPMailer; 
$mail->SMTPDebug = 3; 
$mail->Debugoutput = 'html'; 
$mail->isSMTP(); 
$mail->Host = $config['host']; //smtp.office365.com 
$mail->SMTPAuth = true; 
$mail->Username = $config['username']; //[email protected] 
$mail->Password = $config['password']; //confirmed this is being passed correctly 
$mail->SMTPSecure = 'tls'; 
$mail->Port = 587; 
$mail->From = $config['username']; 
$mail->FromName = 'Website Forms'; 
$mail->addAddress('[email protected]', 'Some Name'); 
$mail->addReplyTo('[email protected]', 'SenderFirst SenderLast'); 
$mail->addBCC('[email protected]'); 
$mail->isHTML(true); 
$mail->Subject = 'Contact Form Submission'; 
$mail->Body = 'Some html here'; 
$mail->AltBody = 'Some alt content here'; 
if(!$mail->send()) { 
    echo 'Mailer Error: ' . $mail->ErrorInfo; 
} else { 
    //perform success actions 
    exit(); 
} 

我已經證實,域名,用戶名和密碼是正確的,並在正確的傳遞。重要的是要注意,這在啓動之前在我們的本地開發服務器上運行。一旦該網站被轉移到我們的主機帳戶(Hostgator)是當它停止工作。我已經用HG確認在我們的服務器上打開了端口587。

以下是錯誤消息我看到:

Connection: opening to smtp.office365.com:587, t=10, opt=array() 
SMTP ERROR: Failed to connect to server: Connection refused (111) 
SMTP connect() failed. 
Message could not be sent.Mailer Error: SMTP connect() failed. 

,可以提供非常感激,哪怕它只是一個以解釋爲什麼它不會現在的工作的文章鏈接任何幫助它在我們的生產環境中。

+0

這已經在github上討論過了,所以我會回答[在那裏](https://github.com/PHPMailer/PHPMailer/issues/295)。 – Synchro 2014-10-12 08:31:15

+0

謝謝,@Synchro! – 2014-10-12 16:46:45

回答

0

事實證明,HG需要修改我們的服務器上的防火牆的設置。一旦他們這樣做,它運作良好。所以,如果您遇到類似的問題,我建議您確保您的一切都是正確的,但是請與您的託管服務提供商聯繫,以瞭解他們的最終需要完成的工作。

1

在PHP 5.5和phpmailer中存在端口號的錯誤。不要設置端口號(mail-> port = ....)這將導致錯誤: 「smtp錯誤無法連接到服務器連接拒絕111」

將它留在默認端口號25和它作品!

4

沒有答案爲我工作。 很多小時後,我發現問題,但只適用於Cpanel/WHM

  • 登錄到WHM。
  • 轉到ConfigServer安全&防火牆內部插件選項。
  • 單擊防火牆配置
  • 通過SMTP設置過濾
  • 查找SMTP_ALLOWUSER選項並添加交友帳戶的用戶名昏迷
  • 重新啓動防火牆隔開。

如果您無權訪問WHM,請諮詢您的提供商。

+1

在cpanel WHM中禁用SMTP限制。成功了! – Jerald 2017-07-22 10:22:45

+1

嘿 - 感謝這我知道這必須是服務器相關的問題。 CSF是罪魁禍首。 – limit 2017-07-31 07:04:40

+0

謝謝!我會補充說明我已經遵循了您的指示,但我也必須將SMTP_BLOCK更改爲OFF,因爲它默認爲開啓狀態,並且它會阻止除root,exim和mailman之外的傳出SMTP。 – Rosamunda 2018-03-04 19:56:37

0

如果您正在使用的cPanel/WHM,你需要確保:

限制撥出SMTP根,進出口,以及郵差(FKA SMTP TWEAK) - 設置爲OFF。 (這可以在「服務器配置»調整設置」(搜索:SMTP)中編輯)

如果您還擁有配置服務器安全&已啓用防火牆,則需要編輯防火牆配置。點擊「防火牆配置」,然後選擇「按SMTP設置篩選」。現在查找SMTP_ALLOWUSER選項並添加由昏迷分隔的cPanel帳戶的用戶名。點擊「更改」,然後重新啓動防火牆。

相關問題