解决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) { // From http://w3.org/International/questions/qa-forms-utf-8.html
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); } for($i=$tot;$i>0;$i--)
{
$head=$obj->getHeaders($i); // Get Header Info Return Array Of Headers **Array Keys are (subject,to,toOth,toNameOth,from,fromName)
//echo "Subjects :: ".$head['subject']."<br>";
$s=test($head['subject']);
if(is_utf8($s)=='1'){
echo iconv('UTF-8','gb2312',$s) ;
}else{
echo $s;
}
echo "<br>";
echo "base :: ".iconv("GB2312", "utf-8", base64_decode('5rWL6K+V'))."<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
}
imap_append : 附加字符串到指定的邮箱中。
imap_base64 : 解 base64 编码。
imap_body : 读信的内文。
imap_check : 返回邮箱信息。
imap_close : 关闭 imap 链接。
imap_createmailbox : 建立新的信箱。
imap_delete : 标记欲删除邮件。
imap_deletemailbox : 删除既有信箱。
imap_expunge : 删除已标记的邮件。
imap_fetchbody : 从信件内文取出指定部分。
imap_fetchstructure : 获取某信件的结构信息。
imap_header : 获取某信件的标头信息。
imap_headers : 获取全部信件的标头信息。
imap_listmailbox : 获取邮箱列示。
imap_listsubscribed : 获取订阅邮箱列示。
imap_mail_copy : 复制指定信件到它处邮箱。
imap_mail_move : 移动指定信件到它处邮箱。
imap_num_msg : 取得信件数。
imap_num_recent : 取得新进信件数。
imap_open : 打开 imap 链接。
imap_ping : 检查 imap 是否连接。
imap_renamemailbox : 更改邮箱名字。
imap_reopen : 重开 imap 链接。
imap_subscribe : 订阅邮箱。
imap_undelete : 取消删除邮件标记。
imap_unsubscribe : 取消订阅邮箱。
imap_qprint : 将 qp 编码转成八位。
imap_8bit : 将八位转成 qp 编码。
imap_binary : 将八位转成 base64 编码。
imap_scanmailbox : 寻找信件有无特定字符串。
imap_mailboxmsginfo : 取得目前邮箱的信息。
imap_rfc822_write_address : 电子邮件位址标准化。
imap_rfc822_parse_adrlist : 解析电子邮件位址。
imap_setflag_full : 配置信件标志。
imap_clearflag_full : 清除信件标志。
imap_sort : 将信件标头排序。
imap_fetchheader : 取得原始标头。
imap_uid : 取得信件 uid。
imap_getmailboxes : 取得全部信件详细信息。
imap_getsubscribed : 列出所有订阅邮箱。
imap_msgno : 列出 uid 的连续信件。
imap_search : 搜寻指定标准的信件。
imap_last_error : 最后的错误信息。
imap_errors : 所有的错误信息。
imap_alerts : 所有的警告信息。
imap_status : 目前的状态信息。
解决php收邮件乱码问题的更多相关文章
- FOXMAIL提示容量满无法收邮件,清除旧邮件后还是无法收取,请问如何解决?
FOXMAIL提示容量满无法收邮件,清除旧邮件后还是无法收取,请问如何解决? 2009-03-23 11:21包子燕 分类:网站使用 我清除了FOXMAIL所在的磁盘空间,共有12G,也删除了部分旧 ...
- centos 邮件服务 腾讯企业邮箱(免费) 使用iRedmail 需要有公网的centos主机 发邮件协议:smtp 端口25 收邮件协议:pop3 端口110 iredmail安装配置 使用邮箱系统 第三十一节课
centos 邮件服务 腾讯企业邮箱(免费) 使用iRedmail 需要有公网的centos主机 发邮件协议:smtp 端口25 收邮件协议:pop3 端口110 iredmail安装配置 ...
- [JBoss] - 解决URI提交时乱码问题
JBoss 7 AS解决url提交数据乱码的问题: 打开jboss-as-7.1.1.Final\standalone\configuration\standalone.xml文件,在<exte ...
- Windows转到linux中,文件乱码,文件编码转换 & 解决sqlplus连接oracle乱码
转载:http://www.cnblogs.com/wanyao/p/3399269.html 最近,学习又重新开始Linux学习,所以一直在Centos中,昨天一朋友把他在Windows下写的C程序 ...
- 教你解决Sublime Text中文乱码问题
教你解决Sublime Text中文乱码问题[转载自成长的企鹅] Sublime Text 2是一个非常不错的源代码及文本编辑器,但是不支持GB2312和GBK编码在很多情况下会非常麻烦. ...
- 分享一个解决MySQL写入中文乱码的方法
分享一个解决MySQL写入中文乱码的方法 之前有发帖请教过如何解决MySQL写入中文乱码的问题.但没人会,或者是会的人不想回答.搜索网上的答案并尝试很多次无效,所以当时就因为这个乱码问题搁浅了一个软件 ...
- 完美解决Informix的中文乱码问题
完美解决Informix的中文乱码问题 Informix是IBM旗下的一款数据库,要不是这个项目需要,估计这辈子我都不知道居然还有这么一款数据库.想来公司的项目遍布全国各地,各种部署环境各种应用场景 ...
- Gmail邮件功能那么强大,GMail被封,在国内怎么用gmail收邮件?
IT圈子里最热门的话题一定是:gmail被封,该怎么办?gmail由于强大的邮件功能,ITer一定是人手一个or多个,之前想要收发gmail使用imap或SMTP方式是可以在国内正常使用的,目前ima ...
- 使用SQL Server Driver for PHP解决PHP连接MSSQL乱码的问题
原文 使用SQL Server Driver for PHP解决PHP连接MSSQL乱码的问题 最近帮客户写了一个.net商城网站的发布接口,大家都知道.net一般都使用MSSQL数据库,但鱼丸不会. ...
随机推荐
- Redis之字符串
Redis 字符串 String 是redis最基本的类型,value 不仅可以是 String,也可以是数字. 使用 Strings 类型,可以完全实现目前 Memcached 的功能,并且效率更高 ...
- SpringMVC整个执行流程
在SSM (或SSH) 框架整合使用后,基本骨架看上去还是MVC的结构. MyBatis整合一些数据封装方法节省了DAO层的代码量, Spring提供了AOP,IoC( DI 具体实现 ). 而Spr ...
- 使用quartz实现定时器功能
首先导入两个包 <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>qua ...
- Appium 自动化测试(3)--Appium框架与流程介绍
Appium介绍 Appium是一个移动端的自动化框架,可用于测试原生应用,移动网页应用和混合型应用,且是跨平台的.可用于IOS和Android以及firefox的操作系统.原生的应用是指用andro ...
- Spring 调度任务@scheduled学习总结
官网Api:http://docs.spring.io/spring/docs/current/spring-framework-reference/html/scheduling.html#sche ...
- java通过文件头来判断文件类型
import java.io.FileInputStream; import java.io.IOException; import java.util.HashMap; import java.ut ...
- IOS-详解KVO底层实现
一.KVO (Key-Value Observing) KVO 是 Objective-C 对观察者模式(Observer Pattern)的实现.也是 Cocoa Binding 的基础.当被观察对 ...
- MAP 最大后验——利用经验数据获得对未观测量的点态估计
Map (最大后验) 在贝叶斯统计学中,最大后验(Maximum A Posteriori,MAP)估计可以利用经验数据获得对未观测量的点态估计.它与Fisher的最大似然估计(Maximum Lik ...
- Fly Vim, First-Class
http://corner.squareup.com/2013/08/fly-vim-first-class.html Engineers at Square use a wide variety o ...
- MissingNumber缺失的数字,FirstMissingPositive第一个缺失的正数
MissingNumber问题描述:给定一个数组,数组数字范围是0-n,找到缺失的数字.例如nums={0,1,3},return2. 算法分析:第一种方法,对数组进行排序,然后找到和下标不一致的数字 ...