解决php收邮件乱码问题
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61 |
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 ); } 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 :
目前的状态信息。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。