做論壇網(wǎng)站建設(shè),幾乎都是用源程序,像discuz,或是phpwind 等,我們今天來(lái)看下 dz論壇為什么不能發(fā)送郵件,正常來(lái)說(shuō)我們?cè)O(shè)置好郵件選項(xiàng) 就可以了, 但是某些原因 不能發(fā)送郵件,
我們來(lái)看一下,是什么原因,今天說(shuō)的是,由于使用服務(wù)商主機(jī)造成的問(wèn)題,是我們不能左右的,例如萬(wàn)網(wǎng)空間主機(jī)是不支持fsockopen()函數(shù)的,
dz 官方只給出了,1.0的解決方法, 我們看一下是怎樣
打開source\function\function_filesock.php這個(gè)文件
找到
-
if(function_exists('fsockopen')) {
-
$fp = @fsockopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout);
-
} elseif(function_exists('pfsockopen')) {
復(fù)制代碼
修改成
-
if(function_exists('pfsockopen')) {
復(fù)制代碼
|
|
這是dz 官方給出的1.0 的解決方法,
但是我們現(xiàn)在都是2.5 或是3.1 這個(gè)方法是不適用的, 我們了解發(fā)現(xiàn),萬(wàn)網(wǎng)對(duì)此 也是有相關(guān)的解決方法的,
以下是萬(wàn)網(wǎng)給出的具體郵件回復(fù)如下:
尊敬的客戶您好:
您的問(wèn)題回復(fù)如下:
G享主機(jī)不支持fsockopen函數(shù)的解決方法 :fsockopen函數(shù)在NT系統(tǒng)下有漏洞,此漏洞會(huì)導(dǎo)致跨站攻擊等危險(xiǎn),在微軟出具修復(fù)方案前萬(wàn)網(wǎng)G主機(jī)修改此函數(shù)名為“pfsockopen”,同時(shí)推出純LINUX系統(tǒng)的L享主機(jī)來(lái)完美支持這一函數(shù)。
fsockopen大多數(shù)應(yīng)用是的獲取遠(yuǎn)程頁(yè)面數(shù)據(jù),對(duì)于獲取遠(yuǎn)程頁(yè)面這種應(yīng)用,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àn)網(wǎng)空間不支持fsockopen函數(shù),導(dǎo)致不能發(fā)送郵件的方法你學(xué)會(huì)了嗎