receivemail.example.php

<?php
function test($strHead){  
if(ereg("=\?.{0,}\?[Bb]\?",$strHead)){  
  $arrHead=split("=\?.{0,}\?[Bb]\?",$strHead);  
 while(list($key,$value)=each($arrHead)){  
    if(ereg("\?=",$value)){  
      $arrTemp=split("\?=",$value);  
     $arrTemp[0]=base64_decode($arrTemp[0]);  
      $arrHead[$key]=join("",$arrTemp);  
   }  
 }  
 $strHead=join("",$arrHead);  
}  
  return $strHead;  
}  
 
function is_utf8($string) { 
 return preg_match('%^(?: 
         [\x09\x0A\x0D\x20-\x7E]            # ASCII 
        | [\xC2-\xDF][\x80-\xBF]             # non-overlong 2-byte 
        |  \xE0[\xA0-\xBF][\x80-\xBF]        # excluding overlongs 
       | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}  # straight 3-byte 
       |  \xED[\x80-\x9F][\x80-\xBF]        # excluding surrogates 
       |  \xF0[\x90-\xBF][\x80-\xBF]{2}     # planes 1-3 
        | [\xF1-\xF3][\x80-\xBF]{3}          # planes 4-15 
       |  \xF4[\x80-\x8F][\x80-\xBF]{2}     # plane 16 
  )*$%xs', $string); 
     

include("receivemail.class.php");
// Creating a object of reciveMail Class
$obj= new receiveMail(
'634842632@qq.com','*******','634842632@qq.com','pop.qq.com','pop3','110',false);

//Connect to the Mail Box
$obj->connect();         //If connection fails give error message and exit

// Get Total Number of Unread Email in mail box
$tot=$obj->getTotalMails(); //Total Mails in Inbox Return integer value

echo "Total Mails:: $tot<br>";

for($i=$tot;$i>0;$i--)
{
 $head=$obj->getHeaders($i);
 $s=test($head['subject']); 
   if(is_utf8($s)=='1'){ 
   echo iconv('UTF-8','gb2312',$s) ;  
    }else{ 
        echo $s; 
  }   
   echo "<br>"; 

 echo "Subjects :: ".$head['subject']."<br>";
 echo "TO :: ".$head['to']."<br>";
 echo "To Other :: ".$head['toOth']."<br>";
 echo "ToName Other :: ".$head['toNameOth']."<br>";
 echo "From :: ".$head['from']."<br>";
 echo "FromName :: ".$head['fromName']."<br>";
 echo "<br><br>";
 echo "<br>*******************************************************************************************<BR>";
 echo $obj->getBody($i);  // Get Body Of Mail number Return String Get Mail id in interger
 
 $str=$obj->GetAttach($i,"./"); // Get attached File from Mail Return name of file in comma separated string  args. (mailid, Path to store file)
 $ar=explode(",",$str);
 foreach($ar as $key=>$value)
  echo ($value=="")?"":"Atteched File :: ".$value."<br>";
 echo "<br>------------------------------------------------------------------------------------------<BR>";
 
 //$obj->deleteMails($i); // Delete Mail from Mail box
}
$obj->close_mailbox();   //Close Mail Box

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
receivemail是一个专门用来接收邮件的PHP类,支持POP3和IMAP等邮件协议。 可以接收邮件及邮件附件。 include("receivemail.class.php"); 02 // 创建一个 reciveMail 对象 03 $obj = new receiveMail('abc@abc.com','xxxxxx','abc@abc.com','pop.abc.com','pop3','110',false); 04 // 连接到邮件服务器 05 $obj->connect(); //If connection fails give error message and exit 06 // 读取未读邮件数 07 $tot = $obj->getTotalMails(); //Total Mails in Inbox Return integer value 08 09 echo "收到$tot封邮件::"; 10 for($i = $tot; $i > 0; $i--) 11 { 12 $head = $obj->getHeaders($i); // 读取获取邮件头信息,返回数组 **数组键值为 (subject,to,toOth,toNameOth,from,fromName) 13 echo "主题 :: ".$head['subject'].""; 14 echo "收件人 :: ".$head['to'].""; 15 echo "抄送 :: ".$head['toOth'].""; 16 echo "发件人 :: ".$head['from'].""; 17 echo "发件人名称 :: ".$head['fromName'].""; 18 echo ""; 19 echo "*******************************************************************************************"; 20 echo $obj->getBody($i); // 邮件正文 21 $str = $obj->GetAttach($i,"./"); // 获取邮件附件,返回的文件名以逗号隔开。 例如. (mailid, Path to store file) 22 $ar = explode(",",$str); 23 foreach($ar as $key=>$value) 24 echo ($value == "") ? "" : "Atteched File :: " . $value . ""; 25 echo "------------------------------------------------------------------------------------------"; 26 //$obj->deleteMails($i); // Delete Mail from Mail box 27 } 28 $obj->close_mailbox(); //Close Mail Box
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值