做論壇網(wǎng)站建設,幾乎都是用源程序,像discuz,或是phpwind 等,我們今天來看下 dz論壇為什么不能發(fā)送郵件,正常來說我們設置好郵件選項 就可以了, 但是某些原因 不能發(fā)送郵件,
我們來看一下,是什么原因,今天說的是,由于使用服務商主機造成的問題,是我們不能左右的,例如萬網(wǎng)空間主機是不支持fsockopen()函數(shù)的,
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 的解決方法,
但是我們現(xiàn)在都是2.5 或是3.1 這個方法是不適用的, 我們了解發(fā)現(xiàn),萬網(wǎng)對此 也是有相關(guān)的解決方法的,
以下是萬網(wǎng)給出的具體郵件回復如下:
尊敬的客戶您好:
您的問題回復如下:
G享主機不支持fsockopen函數(shù)的解決方法 :fsockopen函數(shù)在NT系統(tǒng)下有漏洞,此漏洞會導致跨站攻擊等危險,在微軟出具修復方案前萬網(wǎng)G主機修改此函數(shù)名為“pfsockopen”,同時推出純LINUX系統(tǒng)的L享主機來完美支持這一函數(shù)。
fsockopen大多數(shù)應用是的獲取遠程頁面數(shù)據(jù),對于獲取遠程頁面這種應用,PHP還有其他函數(shù)可以完美替代:
方法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;
?>
論壇網(wǎng)站制作中萬網(wǎng)空間不支持fsockopen函數(shù),導致不能發(fā)送郵件的方法你學會了嗎