前段时间一直在研究邮件获取和内容的提取,具体实例就是比如在阿里购物后,当商家发货后会收到一份已发货邮件,邮件里会包含订单号和运单号(要的就是这个 嘿嘿),至于干嘛用,在这就不多说明了
这边用的方法是IMAP不是POP3,网上有很多POP3的邮件接收类,我开始也尝试用这个类,但当邮箱邮件比较多时,执行会很慢,动不动还会超时。IMAP好像默认只接收最近几百份邮件,不会全部遍历整个邮箱邮件。对我来说这样挺好。
date_default_timezone_set("Asia/Shanghai");
$mailServer="imap.126.com"; //IMAP主机
$mailLink="{ {$mailServer}:143}INBOX" ; //imagp连接地址:不同主机地址不同
$mailUser = '******@126.com'; //邮箱用户名
$mailPass = '********'; //邮箱密码
$mbox = imap_open($mailLink,$mailUser,$mailPass); //开启信箱imap_open
$totalrows = imap_num_msg($mbox); //取得信件数
for ($i=$totalrows;$i>$totalrows-50;$i--){ //我这边只取最近50封
$headers = imap_fetchheader($mbox, $i); //获取信件标头
$Subjects = preg_match_all('/\bSubject:(.*?)[\n\r]/s&