簡體   English   中英

PHPMailer連接超時

[英]PHPMailer connection timed out

我正在嘗試使用PHPMailer從我的網站發送電子郵件。

在我的PC上本地嘗試,一切正常。

 SERVER -> CLIENT: 220 mail.xxx.it Microsoft ESMTP MAIL Service, Version: 6.0.3790.4675 ready at Sun, 26 Jan 2014 17:48:16 +0100 
CLIENT -> SERVER: EHLO localhost
SERVER -> CLIENT: 250-mail.xxx.it Hello [151.16.96.254]250-TURN250-SIZE250-ETRN250-PIPELINING250-DSN250-ENHANCEDSTATUSCODES250-8bitmime250-BINARYMIME250-CHUNKING250-VRFY250-X-EXPS GSSAPI NTLM LOGIN250-X-EXPS=LOGIN250-AUTH GSSAPI NTLM LOGIN250-AUTH=LOGIN250-X-LINK2STATE250-XEXCH50250 OK
CLIENT -> SERVER: MAIL FROM:<cantina@xxx.it>
SERVER -> CLIENT: 250 2.1.0 cantina@xxx.it....Sender OK
CLIENT -> SERVER: RCPT TO:<cantina@xxx.it>
SERVER -> CLIENT: 250 2.1.5 cantina@xxx.it 
CLIENT -> SERVER: DATA
SERVER -> CLIENT: 354 Start mail input; end with <CRLF>.<CRLF>
CLIENT -> SERVER: Date: Sun, 26 Jan 2014 16:48:16 +0000
CLIENT -> SERVER: Return-Path: <cantina@xxx.it>
CLIENT -> SERVER: To: Cantina <cantina@xxx.it>
CLIENT -> SERVER: From: Cantina<cantina@xxx.it>
CLIENT -> SERVER: Reply-To: Cantina <cantina@xxx.it>
CLIENT -> SERVER: Subject: PHPMailer Mail SMTP test
CLIENT -> SERVER: Message-ID: <7ce374d41e4d33734ece535a61122792@localhost>
CLIENT -> SERVER: X-Priority: 3
CLIENT -> SERVER: X-Mailer: PHPMailer 5.2.7 (https://github.com/PHPMailer/PHPMailer/)
CLIENT -> SERVER: MIME-Version: 1.0
CLIENT -> SERVER: Content-Type: multipart/alternative;
CLIENT -> SERVER: boundary="b1_7ce374d41e4d33734ece535a61122792"
...    
SERVER -> CLIENT: 250 2.6.0 <7ce374d41e4d33734ece535a61122792@localhost> Queued mail for delivery
CLIENT -> SERVER: QUIT
SERVER -> CLIENT: 221 2.0.0 mail.xxx.it Service closing transmission channel
Message sent!

當我將我的PHP文件移動到托管提供程序上的Web服務器時。

SMTP ERROR: Failed to connect to server: Connection timed out (110)
SMTP connect() failed.
Mailer Error: SMTP connect() failed.

SMTP對標准25未經身份驗證的設備進行響應。

關於如何進一步了解發生原因的任何提示。 我將從對計算機執行ping操作開始,我不知道是否可以通過PHP完成。

謝謝

是的,您可以使用php ping通,這是一個示例:

function ping($host, $port, $timeout) { 
  $tB = microtime(true); 
  $fP = fSockOpen($host, $port, $errno, $errstr, $timeout); 
  if (!$fP) { return "down"; } 
  $tA = microtime(true); 
  return round((($tA - $tB) * 1000), 0)." ms"; 
}

//Echoing it will display the ping if the host is up, if not it'll say "down".
echo ping("xxx.it", 25, 10);

我確定這還不足以解決您的問題,但至少可以幫助您在繼續執行其余腳本之前確定是否可以連接到遠程服務。
您還應該考慮到遠程服務器可能正在阻止主機的連接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM