美精品综合视频一区二区,国产精品天干天干有线观看,不卡一区二区在线视频色小妞在线视频,欧美.亚洲.日本一区二区三区,国产精品久久久久久久久久1,WWW.久久久久久免费视频

億世紀(jì)網(wǎng)站建設(shè)公司
當(dāng)前所在位置:億世紀(jì)網(wǎng)站建設(shè)公司 > 網(wǎng)站建設(shè)知識 > 網(wǎng)站建設(shè)知識

服務(wù)器不支持郵件收發(fā)smtp解決辦法

發(fā)布時間:2013-01-23 當(dāng)前欄目:網(wǎng)站建設(shè)知識 點擊:次?文章作者:admin_super

   最近公司新制作了一個購物系統(tǒng),采用的是單頁面訂單系統(tǒng),PHP的WFPHP系統(tǒng)。但是安裝完之后,提交訂單總是提示:

   不能連接SMTP服務(wù)器.”(Error: Could not connect to SMTP host)這是我郁悶很久,在網(wǎng)上找了很多的辦法,發(fā)現(xiàn)有很多和我類似的情況,原來是服務(wù)器端把fsockopen pfsockopen函數(shù)禁用了,我使用的是息壤的獨立主機,給他們售后打電話,說這個改不了,為什么別的服務(wù)商的空間都能用,就你比較特殊嗎。
   由于國內(nèi)大多數(shù)服務(wù)器禁用了mail()函數(shù)導(dǎo)致wordpress不能發(fā)送郵件,而SMTP 插件則是通過PHPmailer連接遠(yuǎn)程SMTP服務(wù)器來發(fā)送郵件,如果服務(wù)器禁用了fsockopen()函數(shù)就會出現(xiàn)上述錯誤。

既然無法開啟上述函數(shù),只能另求他法。

方法 一、
   
   服務(wù)器同時禁用了fsockopen pfsockopen,那么用其他函數(shù)代替,如stream_socket_client()。注意:stream_socket_client()和fsockopen()的參數(shù)不同。
   具體操作:
   搜索程序中的字符串 fsockopen( 替換為 stream_socket_client( ,然后,將原fsockopen函數(shù)中的端口參數(shù)“80”刪掉,并加到$host。
   示例如下
   
   修改前:
   
   $fp = fsockopen($host, 80, $errno, $errstr, 30);
   
   或
   
   $fp = fsockopen($host, $port, $errno, $errstr, $connection_timeout);
   
   修改后:
   
   $fp = stream_socket_client("tcp://".$host."80", $errno, $errstr, 30);
   
   或
   
   $fp = stream_socket_client("tcp://".$host.":".$port, $errno, $errstr, $connection_timeout);
   
   方法二、
   
   如果PHP版本低于5.0,fsockopen被禁用,又沒有stream_socket_client()怎么辦呢?自己寫一個函數(shù)實現(xiàn)fsockopen的功能,參考代碼:
   function b_fsockopen($host, $port, &$errno, &$errstr, $timeout) {
   $ip = gethostbyname($host);
   $s = socket_create(AF_INET, SOCK_STREAM, 0);
   if (socket_set_nonblock($s)) {
   $r = @socket_connect($s, $ip, $port);
   if ($r || socket_last_error() == EINPROGRESS) {
   $errno = EINPROGRESS;
   return $s;
   }
   }
   $errno = socket_last_error($s);
   $errstr = socket_strerror($errno);
   socket_close($s);
   return false;
   }
   
   具體操作:
   
   1.首先找到使用fsockopen函數(shù)的代碼段,將上面代碼加至其上端,搜索該代碼段中的字符串 fsockopen( 替換為 b_fsockopen( 。
   
   2.因為fsockopen函數(shù)返回文件指針?biāo)钥梢员晃募瘮?shù)操作,但是這個b_fsockopen函數(shù)沒能返回文件指針,需要繼續(xù)修改代碼段:用socket_read( 替換掉 fread(    ,用socket_write( 替換掉fwrite( ,用socket_close( 替換掉fclose( 。
   
   三、
   
   使用CMS類網(wǎng)站程序的用戶,如織夢CMS,phpwind,帝國,等程序,請將您的程序升級到最新的版本并及時更新安全漏洞補丁。    國內(nèi)主流CMS網(wǎng)站涉及到fsockopen函數(shù)的網(wǎng)站系統(tǒng)文件路徑列表,如下:    

DEDECMS:

   dede\api_ucenter.php
   dede\index_testenv.php
   dede\module_main.php
   dede\plus_bshare.php
   dede\testenv.php
   dede\include\dedecollection.func.php
   dede\include\dedehttpdown.class.php
   dede\include\mail.class.php
   dede\include\sphinxclient.class.php
   dede\plus\bshare.php
   

Discuz! 2.5:

   source\function\function_core.php 這個文件有2處fsockopen,另外的是pfsockopen,請注意區(qū)分
   uc_client\client.php 這個文件有2處fsockopen,另外的是pfsockopen,請注意區(qū)分
   uc_client\lib\sendmail.inc.php
   uc_client\model\misc.php 這個文件有2處fsockopen,另外的是pfsockopen,請注意區(qū)分
   uc_server\install\func.inc.php 這個文件有2處fsockopen,另外的是pfsockopen,請注意區(qū)分
   uc_server\lib\sendmail.inc.php
   uc_server\model\misc.php 這個文件有2處fsockopen,另外的是pfsockopen,請注意區(qū)分
   

ecms(帝國):

   e\class\class.smtp.php    

ECSHOP:

   admin\index.php
   demo\includes\lib_updater.php
   includes\cls_smtp.php
   includes\cls_transport.php
   includes\lib_base.php
   includes\modules\payment\paypal.php
   

shopex:

   core\api\include\api_utility.php
   core\api\tools\1.0\api_b2b_1_0_tools.php
   core\func_ext.php
   core\lib\nusoap.php
   core\lib\uc_client\client.php
   instal\svinfo.php
   plugins\passport\passport.ucenter.php
   plugins\payment\pay.nochek.php
   plugins\pay.paypal.php
   plugins\pay.paypal.server.php
   plugins\pay.paypal_cn.php

下面我網(wǎng)站關(guān)于fsockopen的代碼,按照你們公告的方法修改還是不行
源代碼如下:

// connect to the smtp server
$this->smtp_conn = @fsockopen($host, // the host of the server
$port, // the port to use
$errno, // error number if any
$errstr, // error message if any
$tval); // give up after ? secs

下面是我修改的:
$this->smtp_conn = @stream_socket_client("tcp://".$host.":".$port, $errno, $errstr, $connection_timeout);

關(guān)鍵字:服務(wù)器(1)郵件收發(fā)(1)

本站文章均有北京網(wǎng)站建設(shè)原創(chuàng),轉(zhuǎn)載請注明出處,文章地址:http://www.0hh0x.cn/jzzhishi/276.html

上一篇:為什么超過4000人選擇了『億世紀(jì)』建設(shè)網(wǎng)站? 下一篇:北京網(wǎng)站建設(shè)客戶問題集錦
公司地址:北京市朝陽路中國第一商城B座2007室   郵箱:523010@qq.com
版權(quán)所有:億世紀(jì)(北京)科技有限公司 2008-2020 京ICP備09107767號
網(wǎng)站關(guān)鍵詞:北京網(wǎng)站建設(shè)|北京網(wǎng)站制作|北京網(wǎng)站建設(shè)公司
张家界市| 唐海县| 公主岭市| 和平县| 兴和县| 百色市| 宝兴县| 米易县| 紫阳县| 义乌市| 法库县| 柳江县| 张家港市| 宁晋县| 乐安县| 肇东市| 信丰县| 通化县| 井冈山市| 咸阳市| 乌鲁木齐县| 昭平县| 宁蒗| 武强县| 龙里县| 武胜县| 北宁市| 如东县| 津南区| 绥阳县| 麻江县| 邳州市| 连城县| 南雄市| 西乌珠穆沁旗| 临城县| 天祝| 泊头市| 北川| 朝阳区| 新竹市|