说明
写某项目的时候由于对方要求从邮箱中取出邮件,于是便写了下面这段代码,需要PHP开启IMAP的支持!
代码
<?php
// 邮件接收服务器配置
$mailServer = "imap.qq.com"; # IMAP主机
$mailServer_port = 143; # IMAP端口号
$mailUser = "*****************"; # 邮箱用户名
$mailPass = "****************"; # 邮箱密码或授权码
$read_email_all = true; # 是否开启取所有邮件
//页面及时区
header('Content-type:text/json;charset=UTF-8');
date_default_timezone_set("Asia/Shanghai");
//访问IMAP
$mailLink="{{$mailServer}:143}INBOX";
$mbox = imap_open($mailLink,$mailUser,$mailPass);
//取得信件数
$totalrows = strval(imap_num_msg($mbox));
if($read_email_all){
for ($i = 1;$i<=$totalrows;$i++){
//取出所有
$mailBody = imap_fetchbody($mbox, $i, 1);
$mailBody = strval(base64_decode($mailBody));
$mailBody = strval(iconv('GB2312','UTF-8',$mailBody));
//输出显示
//echo $mailBody;
$info = $mailBody;
echo $info;
}
}else{
//只取一封
$mailBody = imap_fetchbody($mbox, $totalrows, 1);
$mailBody = strval(base64_decode($mailBody));
$mailBody = strval(iconv('GB2312','UTF-8',$mailBody));
//输出显示
//echo $mailBody;
$info = $mailBody;
echo $info;
}
//关闭IMAP链接
imap_close($mbox);
?>