curl(3) 打开邮箱 获取内容

  打开邮箱 获取指定内容中的链接  进入链接


$handle=imag_open(服务器,用户名,密码);

imag_search($handle,条件);//返回数组

imag_body($handle,信件num,flag);//返回读取的内容

array_pop($arr);//将数组中最后一个去掉,返回剩下的数组


【注意】:Protocol "http not supported or disabled in libcurl

    错误  由于URL  双引号引起  匹配串后URL带双引号 ,出现上面错误

   把匹配串结果去掉双引号   curl_setopt()设置URL时自己加双引号"$url"   正确


public function actionGetMes(){
		$mail='{服务器}';
		$username='[email protected]';
		$pass='*******';
		//打开邮箱
		$handle=imap_open($mail,$username,$pass);
		//去邮箱找晚餐邮件
		$condition='FROM "******" TEXT "邮件名称"';
		$box=imap_search($handle,$condition);
		if($box){
			print_r($box);
			//获取最近一封邮件
			$msgnum=array_pop($box);
			$mes=imap_body($handle,$msgnum);
			print_r($mes);
			//获取a href
			$strPreg = "##";
			preg_match( $strPreg, $mes, $arr );
			print_r("\n\n----".$arr[1]."----\n\n");
			//进入链接
			$url=$arr[1];
			$url = str_replace(' ', '%20', $url);
			
			$ch=curl_init();
			//$url="http://www.baidu.com";
			print_r("\n\n---".$url."---\n\n");
			$http=array('CLIENT_IP:8.8.8.8','X-FORWARDED-FOR:8.8.8.8');
			curl_setopt($ch,CURLOPT_URL,"$url");
			curl_setopt($ch,CURLOPT_HEADER,1);
			//curl_setopt($ch,CURLOPT_HTTPHEADER,$http);
			curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
			curl_setopt($ch,CURLOPT_POST,0);
			curl_setopt($ch,CURLOPT_FOLLOWLOCATION, 1);
			$ret=curl_exec($ch);
			if($ret==false){
				echo 'no get!!  - -  '.curl_error($ch);
			}
			print_r($ret);

		}
		else{
			echo "\nno mes here! - -\n";
		}
	}

你可能感兴趣的:(CURL)