疏林阁 发表于 2005 年 6 月 12 日 14:08:31

把126邮箱当下载中心(类似Gmail to HTML) 0.21版本

演示

http://ayeah.199mb.com/126.php

作者站点:


http://ayeah.info/




<?php

///////////////////////
// 126.com 信箱共享
// ver: 0.21
// date: 2005-05-17
//
// 安装说明:
// 1. 在web使用界面下创建一个文件夹
// 2. 留意该文件夹的链接,如http://m142.mail.126.com/coremail/fcg/ldapapp?funcid=mails&sid=BAzOaVKskuhAAcEW&fid=1116136394
//  &fid=........ 为要获得的fid值
// 3. 将欲共享的文件放到该新建文件夹下即可;
//
// 使用说明:
// 1. 程序不带参数运行,显示附件列表
// 2. 参数g,如http://your.host.name/126.php?g=abc.rar,直接下载abc.rar文件
//  注:遇同名文件附件,下载新近文件
//
// 注意事项:
// 1. 一封邮件只能附带一个附件
// 2. 目前只能读取文件夹内第一页的邮件,可适当增加:每页最多显示邮件数
// 3. 为保安全,不要用该信箱存放重要资料
//
// 更新记录:
// 2005-05-17 v0.21 修正固定链接下载的错误,感谢shawn@ccf
// 2005-05-16 v0.2添加固定链接下载功能
// 2005-05-15 v0.1
//
//
// 声明:本程序仅作为学习、测试用途,不保证安全,请勿滥用。敬请通过正常方式使用信箱,保障双方权益。
//////////////////////////////////////////////


/////////////////////////////////////////////

$user = "";      // 126.com mailbox username, exp. peter
$password = "";// your password.
$fid = "";

///////////////////////


////////////////////// DO NOT MODIFY BELOW ////////////////////////
////////////////////// 莫更改下述内容 /////////////////////////////

/////// Step.1 Login ////////////////
$host = "entry.126.com";
$predata = "POST /cgi/login?language=0&style=-1 HTTP/1.1\r\nHost: ".$host."\r\n";
$postdata = "domain=126.com&language=0&bCookie=&user=".$user."&pass=".$password."&style=-1&enter.x=%B5%C7%A1%A1%C2%BC";
$subdata = "Referer: http://www.126.com/\r\nContent-Type: application/x-www-form-urlencoded\r\nContent-Length: ".strlen($postdata)."\r\n\r\nData found after header end:\r\n\r\n".$postdata."\r\n";

$getText = conn($host, $predata, $subdata);
preg_match("/Location: http:\/\/(.*?)\.mail\.126\.com.*sid=(.*)\r\n/i", $getText, $match1);

/////////
// Array
// (
//      => Location: http://m151.mail.126.com/cgi/ldapapp?funcid=main&sid=WAyamYHPWRYAMBZd
//      => m151
//      => WAyamYHPWRYAMBZd
// )
///////////////////////



/////// Step.2 Share Mailbox ////////////////
$host = $match1.".mail.126.com";
$predata = "GET /coremail/fcg/ldapapp?funcid=mails&sid=".$match1."&fid=".$fid." HTTP/1.1\r\nHost: ".$host."\r\n";
$subdata = "\r\n";
$getText = conn($host, $predata, $subdata);
$getText = substr($getText, strpos($getText, "<!--邮件内容部分start-->"), strpos($getText, "<!--内容部分end-->") - strpos($getText, "<!--邮件内容部分start-->"));
$getText = str_replace("\r\n", " ", $getText);
preg_match_all("/div class=\"list4\".*?(mid=.*?)&fid=.*?>(.*?)<\/a> <\/div/", $getText, $match2, PREG_SET_ORDER);

///////////
// Array
// (
//      => Array
//     (
//      => mid=1tbiXASnz0Jwx1CAvwAAs%252B%520A92%250A8388762%250A1116077941
//      => test
//     )

//      => Array
//     (
//      => mid=1tbiUxqDW0I5bgwXZgAAsb%250A83%520A8346%250A1116077941
//      => photo
//     )
//     ......
//      =>
// )
/////////////////////////////////


/////// Step.3 Get Attachment Url ////////////////
$attach = 1;
foreach ($match2 as $att) {
     $predata = "GET /coremail/fcg/ldmsapp?funcid=readlett&sid=".$match1."&".$att."&fid=".$fid."&ord=0&desc=1&start=0&tempname=onepageread.htm HTTP/1.1\r\nHost: ".$host."\r\n";
     $getText = conn($host, $predata, $subdata);
     $getText = substr($getText, strpos($getText, "打开:"), strpos($getText, "<font color=\"blue\">下载</font>") - strpos($getText, "打开:"));
     preg_match("/lettsid=(.*)&mid.*filename=(.*)&download/", $getText, $match3);

     $attachment[$attach]['title'] = $att;
     $attachment[$attach]['mid'] = $att;
     $attachment[$attach]['filename'] = $match3;
     $attachment[$attach]['lettsid'] = $match3;
     $attach ++;
}

//////////
// Array
// (
//      => Array
//     (
//      => test
//      => mid=1tbiXASnz0Jwx1CAvwAAs%252B%520A92%250A8388762%250A1116077941
//      => 426755.jpg
//      => BBILPwAaKBDAmiUo
//     )
//
//      => Array
//     (
//      => photo
//      => mid=1tbiUxqDW0I5bgwXZgAAsb%250A83%520A8346%250A1116077941
//      => 20050408.rar
//      => BBILPwAaKBDAmiUo
//     )
//
// )
////////////////////////////////////////


/////// Step.4 Display ////////////////
if ($_GET['g']) {
     foreach($attachment as $item) {
     if ($item['filename'] == trim($_GET['g'])) {
         header("Location: http://".$host."/coremail/fcg/ldmsapp/".$item['filename']."?lettsid=".$item['lettsid']."&".$item['mid']."&funcid=readpart&part=3&filename=".$item['filename']."&download=1");
         exit;
     }
     }
     print "File Not Found.\n";
     exit;
} else {
     $attach = 1;
     print "声明:本程序仅作为学习、测试用途,不保证安全,请勿滥用。敬请通过正常方式使用信箱,保障双方权益。<br /><br />";
     foreach($attachment as $item) {
     $attachurl = "http://".$host."/coremail/fcg/ldmsapp/".$item['filename']."?lettsid=".$item['lettsid']."&".$item['mid']."&funcid=readpart&part=3&filename=".$item['filename']."&download=1";

//////// 输入式样 ////////////////////////
     print $attach.". <a href=\"".$attachurl."\">".$item['title']." => ".$item['filename']."</a><br />\n";
///////////////////////////////
     
     $attach ++;
     }
}
////////////////////////////////////////


function conn($host, $predata, $subdata) {

     $text = null;
     $data="User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.7) Gecko/20050414 Firefox/1.0.3\r\n";
     $data.="Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n";
     $data.="Accept-Language: en-us,en;q=0.5\r\nAccept-Encoding: gzip,deflate\r\nAccept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n";
     $data.="Keep-Alive: 300\r\nConnection: Close\r\n";

     $alldata = $predata.$data.$subdata;

//      print $alldata."\n";

     $start_time = time();
     $fp=fsockopen($host, 80, $errno, $errstr, 5);
     if (!$fp) {
     die("Connect Timeout.\n");
     } else {
     socket_set_blocking($fp, True);
     socket_set_timeout($fp, 5);
     
     fputs($fp, $alldata);
     while (!feof($fp)) {
         $text .= fread($fp, 2000);

         $diff = time() - $start_time;
         if ($diff > 24) {
             die("Timeout!\n");
         }

         $status = socket_get_status($fp);
         if ($status['timed_out']) {
             die("Stream Timeout!\n");
         }
     }
     }
     fclose($fp);
     return $text;
}

?>

http://bbs.winzheng.com/attachments/month_0505/2_215_9_2GZU5tj7OGCL.jpg

kokgog 发表于 2005 年 6 月 12 日 14:09:28

楼主接pm呵呵

kokgog 发表于 2005 年 6 月 12 日 14:10:07

斑竹出来射精拉

nuet 发表于 2005 年 6 月 12 日 14:10:07

这样也可以啊!!
那不是爽死了吗!!

黑哥 发表于 2005 年 6 月 12 日 14:11:58

老黑宣布:楼猪是偶的偶像

疏林阁 发表于 2005 年 6 月 12 日 14:12:28

8是 偶写的

偶是转贴

kkk11 发表于 2005 年 6 月 12 日 14:16:31

速度怎么样

黑哥 发表于 2005 年 6 月 12 日 14:18:44

下面是引用疏林阁于2005-06-12 14:12发表的:
8是 偶写的

偶是转贴
分享就是美   亲你一个

遇见 发表于 2005 年 6 月 12 日 16:00:31

晕~网易的速度还可以的说....
偶另存一般都150K+的

ctnet 发表于 2005 年 6 月 24 日 13:35:09

页: [1] 2 3
查看完整版本: 把126邮箱当下载中心(类似Gmail to HTML) 0.21版本