求助大神,phpMailer放在服务器上失败的问题,服务器通过代理上网 本地测试了,发送邮件都成功,放到公司服务器上就不行了公司的服务器是通过一个局域网另外的机器代理上的网,用的IE设置代理,phpmailer就发送失败了,请问是代理的问题吗,还是网上说的fsockopen 和pfsockopen 的问题,谢谢!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 phpMailer 不支持代理或许你可以自己添上,但你的代理服务器也要配置邮件代理服务 那请问版主,用php要实现这种服务器通过代理上网的情况,有没有什么办法呢?谢谢 有,你只要先连接代理服务器即可我我没有可用的代理服务器,不可能给你调试通过的代码就给个以前写的使用 http 代理的代码供你参考吧//配置代理服务器$proxy_host="10.34.8.2"; $proxy_port="8080";//配置欲打开的网页$url="http://bbs.yzvod.com/index.asp";//注意要加"http://"//对路径的处理,如果前面没有/,就加一个 function slashUrl($url) { if(!ereg("^/",$url)) { return "/".$url; }else { return $url; }} //对获得内容进行处理,去掉头部信息 function trimHeader($content){ $array=split("\n\r",$content,"2"); return trim($array["1"]); } function http_fopen($host,$port="80"){ global $proxy_host; global $proxy_port; if(empty($proxy_host)){ $conn_host=$host; $conn_port=$port; } else{ $conn_host=$proxy_host; $conn_port=$proxy_port; } $path=slashurl($path); $abs_url=$host; //$abs_url="http://".$host.":".$port.$path; $query="GET $abs_url HTTP/1.0\r\n". //"HOST:$host:$port\r\n". "User-agent:PHP/class http 0.1\r\n". "\r\n"; $fp=fsockopen($conn_host,$conn_port); if(!$fp){ return false; }else{ fputs($fp,$query); while(!feof($fp)) { $cc.=fgets($fp); } fclose($fp); $content=trimHeader($cc); return $content;}} //前面是主机地址,第二个参数是具体的目标 $http=http_fopen($url);if(!$http){ echo"对不起,连接代理服务器出错!"; exit; }else{ echo $http;} 非常感谢版主,你的意思是在我调用phpmailer的send之前,先执行你上面的连接代理这几段代码对吗? 测试了下,想问下版主第3行的$url代表什么意思呢?我只是想连上代理,有代理ip$proxy_host了,连上之后调用phpmailer发邮件就行了,那这个$url存在的意义是什么呢?谢谢 PHP页面中如何调用cmd窗口,并执行telnet命令 防止刷ip 求php中上级好书 求能实现封杀IP功能的留言板。。。 急求smarty缓存问题解决方案 ecshop实现对后台管理员的考勤 zendstudio调试 装了zend,要调试还再次安装PHP环境吗?MySQL也要重装吗? php短信接口开发问题 杭州下城区聘请php/java技术经理 php项目支付宝支付功能开发(pc端) 从网上找了个php开发的zlchat视频会议,自己局域网能用,放到服务器上就不能用,是怎么回事 高深问题:如何禁止百度某地区显示搜索
或许你可以自己添上,但你的代理服务器也要配置邮件代理服务
我我没有可用的代理服务器,不可能给你调试通过的代码
就给个以前写的使用 http 代理的代码供你参考吧//配置代理服务器
$proxy_host="10.34.8.2";
$proxy_port="8080";
//配置欲打开的网页
$url="http://bbs.yzvod.com/index.asp";//注意要加"http://"//对路径的处理,如果前面没有/,就加一个
function slashUrl($url) {
if(!ereg("^/",$url)) {
return "/".$url;
}else {
return $url;
}
}
//对获得内容进行处理,去掉头部信息
function trimHeader($content){
$array=split("\n\r",$content,"2");
return trim($array["1"]);
} function http_fopen($host,$port="80"){
global $proxy_host;
global $proxy_port;
if(empty($proxy_host)){
$conn_host=$host;
$conn_port=$port;
} else{
$conn_host=$proxy_host;
$conn_port=$proxy_port;
}
$path=slashurl($path);
$abs_url=$host;
//$abs_url="http://".$host.":".$port.$path;
$query="GET $abs_url HTTP/1.0\r\n".
//"HOST:$host:$port\r\n".
"User-agent:PHP/class http 0.1\r\n".
"\r\n";
$fp=fsockopen($conn_host,$conn_port);
if(!$fp){
return false;
}else{
fputs($fp,$query);
while(!feof($fp)) {
$cc.=fgets($fp);
}
fclose($fp);
$content=trimHeader($cc);
return $content;
}
}
//前面是主机地址,第二个参数是具体的目标
$http=http_fopen($url);if(!$http){
echo"对不起,连接代理服务器出错!";
exit;
}else{
echo $http;
}