php 邮件接收类,PHP邮件接收类的改进

在《PHP接收邮件类(receivemail.class.php)下载 》中提到receivemail类的使用,针对部分留言反映通过该类接收的邮件出现乱码的问题,本文对邮件接收类receivemail类进行了改进,重点解决邮件乱码问题。

主要的改进如下:

1、新增了listMessages方法,用于列表邮件列表,且带有分页功能,更加方便调用

/**

* listMessages - 获取邮件列表

* @param $page - 第几页

* @param $per_page - 每页显示多少封邮件

* @param $sort - 邮件排序,如:array('by' => 'date', 'direction' => 'desc')

* */

function listMessages($page = 1, $per_page = 25, $sort = null){}

2、新增了两个编码转换的方法,主要用于对邮件的相关信息进行编码转换。

调用方法如下:

include("receivemail.class.php");

$obj = receiveMail('abc@abc.com','xxxxxx','abc@abc.com','pop.abc.com','pop3','110', false);

$obj->connect();

$maillist = $obj->listMessages();

print_r($maillist);

运行结果大致如下:

Array

(

[res] => Array

(

[0] => stdClass Object

(

[subject] => 解决PHP邮件接收类的乱码问题

[from] => xxx [to] => abc [date] => Mon, 28 Jan 2013 14:23:06 +0800 (CST)

[message_id] => <2afc51061915f95-00004.Richmail.00037000523146269922@xxx.com>

[size] => 42259

[uid] => 1

[msgno] => 1

[recent] => 1

[flagged] => 0

[answered] => 0

[deleted] => 0

[seen] => 0

[draft] => 0

[body] => 邮件内容

)

)

[start] => 1

[limit] => 25

[sorting] => Array

(

[by] =>

[direction] =>

)

[total] => 47

[pages] => 2

)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
receivemail是一个专门用来接收邮件PHP类,支持POP3和IMAP等邮件协议。 可以接收邮件邮件附件。 include("receivemail.class.php"); 02 // 创建一个 reciveMail 对象 03 $obj = new receiveMail('[email protected]','xxxxxx','[email protected]','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、付费专栏及课程。

余额充值