做論壇網站建設,幾乎都是用源程序,像discuz,或是phpwind 等,我們今天來看下 dz論壇為什么不能發送郵件,正常來說我們設置好郵件選項 就可以了, 但是某些原因 不能發送郵件,
我們來看一下,是什么原因,今天說的是,由于使用服務商主機造成的問題,是我們不能左右的,例如萬網空間主機是不支持fsockopen()函數的,
dz 官方只給出了,1.0的解決方法, 我們看一下是怎樣
打開source\function\function_filesock.php這個文件
找到
-
if(function_exists('fsockopen')) {
-
$fp = @fsockopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout);
-
} elseif(function_exists('pfsockopen')) {
復制代碼
修改成
-
if(function_exists('pfsockopen')) {
復制代碼
|
|
這是dz 官方給出的1.0 的解決方法,
但是我們現在都是2.5 或是3.1 這個方法是不適用的, 我們了解發現,萬網對此 也是有相關的解決方法的,
以下是萬網給出的具體郵件回復如下:
尊敬的客戶您好:
您的問題回復如下:
G享主機不支持fsockopen函數的解決方法 :fsockopen函數在NT系統下有漏洞,此漏洞會導致跨站攻擊等危險,在微軟出具修復方案前萬網G主機修改此函數名為“pfsockopen”,同時推出純LINUX系統的L享主機來完美支持這一函數。
fsockopen大多數應用是的獲取遠程頁面數據,對于獲取遠程頁面這種應用,PHP還有其他函數可以完美替代:
方法1:
<?php
$str = file("http://www.hichina.com/");
$count = count($str);
for ($i=0;$i<$count;$i++){
$file .= $str[$i];
}
echo $file;
?>
方法2:
<?php
$str = file_get_contents("http://www.hichina.com/");
echo $str;
?>
論壇網站制作中萬網空間不支持fsockopen函數,導致不能發送郵件的方法你學會了嗎