只是標題說了什麼。 想知道如何檢查連接是否正常工作,如果沒有,是什麼錯誤。 Btw SMTP服務器交換2007年。如何通過PHP檢查我的腳本是否連接到SMTP服務器
4
A
回答
10
如果你想知道你是否可以從任何地方訪問SMTP服務器運行PHP,那麼你只需要連接到它在適當的端口(默認25),並看到如果你在結果中找回「220」代碼。
$f = fsockopen('smtp host', 25) ;
if ($f !== false) {
$res = fread($f, 1024) ;
if (strlen($res) > 0 && strpos($res, '220') === 0) {
echo "Success!" ;
}
else {
echo "Error: " . $res ;
}
}
fclose($f) ;
0
由於這是最有可能與您的其他問題:Configure mail server to work with PHP,我會在這裏把答案過於:
您正在使用PEAR郵件包。 send()
方法在成功時返回TRUE,否則返回PEAR_Error
對象,其中將包含失敗的詳細信息。很可能你會想要$ PEAR_Error :: message。全部細節在這裏:Configure mail server to work with PHP
0
它可能是由於你的SMTP端口是不允許的防火牆,以便嘗試這個PHP腳本來檢查開放的端口,它是具有最大熱門港口檢查:
<?php
$ports[] = array('host'=>'interspire.smtp.com','number'=>25);
$ports[] = array('host'=>'interspire.smtp.com','number'=>2525);
$ports[] = array('host'=>'interspire.smtp.com','number'=>25025);
$ports[] = array('host'=>'helpme.interspire.smtp.com','number'=>80);
$ports[] = array('host'=>'google.com','number'=>80);
$ports[] = array('host'=>'smtp.gmail.com','number'=>587);
$ports[] = array('host'=>'smtp.gmail.com','number'=>465);
$ports[] = array('host'=>'pop.gmail.com','number'=>995);
$ports[] = array('host'=>'imap.gmail.com','number'=>993);
$ports[] = array('host'=>'ftp.mozilla.org','number'=>21);
$ports[] = array('host'=>'smtp2go.com','number'=>8025);
$ports[] = array('host'=>'relay.dnsexit.com','number'=>25);
$ports[] = array('host'=>'relay.dnsexit.com','number'=>26);
$ports[] = array('host'=>'relay.dnsexit.com','number'=>940);
$ports[] = array('host'=>'relay.dnsexit.com','number'=>8001);
$ports[] = array('host'=>'relay.dnsexit.com','number'=>2525);
$ports[] = array('host'=>'relay.dnsexit.com','number'=>80);
$ports[] = array('host'=>'mail.authsmtp.com','number'=>23);
$ports[] = array('host'=>'mail.authsmtp.com','number'=>25);
$ports[] = array('host'=>'mail.authsmtp.com','number'=>26);
$ports[] = array('host'=>'mail.authsmtp.com','number'=>2525);
foreach ($ports as $port)
{
//$connection = @fsockopen($port['host'], $port['number']);
$connection = @fsockopen($port['host'], $port['number'], $errno, $errstr, 5); // 5 second timeout for each port.
if (is_resource($connection))
{
echo '<h2>' . $port['host'] . ':' . $port['number'] . ' ' . '(' . getservbyport($port, 'tcp') . ') is open.</h2>' . "\n";
fclose($connection);
}
else
{
echo '<h2>' . $port['host'] . ':' . $port['number'] . ' is not responding.</h2>' . "\n";
}
}
?>
來源自:https://www.interspire.com/support/kb/getattachment.php?data=MTA2OHxwb3J0Y2hlY2sucGhw
相關問題
- 1. 如何檢查服務器是否正在執行PHP腳本?
- 2. 如何通過shell腳本連接到FTP服務器
- 3. C#:通過套接字連接到Gmail的SMTP服務器
- 4. 如何檢查客戶端是否連接到XMPP服務器
- 5. 從通過連接到PHP服務器
- 6. 通過SFTP PHP連接到服務器
- 7. php套接字服務器檢查客戶端是否連接
- 8. 我的PHP腳本無法連接到IRC服務器
- 9. 如何檢查一個頁面是否通過PHP添加到服務器?
- 10. 檢查php-cgi服務器是否可以遠程連接
- 11. 我如何檢查我的郵件服務器是否需要smtp驗證?
- 12. php腳本(函數)檢查服務器上是否允許.htaccess
- 13. 如何檢查是否到SFTP服務器的連接是成功的VB.NET
- 14. PHP:腳本超時服務器連接
- 15. 如何通過php連接到ftps服務器?
- 16. 檢查客戶端是否連接到OwnCloud服務器
- 17. 如何檢查服務器連接
- 18. 通過SSL通過PHP PDO連接到MSSQL服務器
- 19. 如何檢查smtp服務器是否正在使用或不使用php
- 20. 是否可以通過互聯網連接到VisualSVN服務器
- 21. JavaMail:無法連接到SMTP服務器
- 22. 無法連接到SMTP服務器
- 23. PHPmailer無法連接到SMTP服務器
- 24. 無法連接到SMTP服務器(PHPmailer)
- 25. 檢查互聯網連接是否可通過代理服務器
- 26. 如何通過Swift連接到本地Firebase服務器?
- 27. 如何通過JavaScript連接到我的PHP程序所在的服務器?
- 28. 在winsock中,我如何通過域名連接到服務器?
- 29. Shell腳本連接到MySQL服務器