需求: 把接收到的邮件依次分发到不同邮件文件夹,例如第1封邮件到A文件夹第2封到B文件夹第3封到A文件夹
一般邮件客户端只支持按某种关键字来划分到不同文件夹,像这种依次分发就需要我们手动处理
发送邮件我们一般都用phpmailer包来发送,但接收邮件该怎么处理呢
php扩展imap
imap扩展是用来处理邮件相关的,需要安装、并且检查是否在ini中被禁用
code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| // 邮箱配置信息 $hostname = '{imap.gmail.com:993/imap/ssl}INBOX'; //IMAP服务器 $username = '****@gmail.com';//邮箱 $password = '******'; //邮箱授权码 $inbox = imap_open($hostname, $username, $password); //建立连接
//邮箱文件列表 //$boxList = imap_list($inbox, '{imap.gmail.com:993/imap/ssl}', '*');
$search_date = '26-Sep-2024'; //查找某个日期之后的邮件 $emails = imap_search($inbox, 'SINCE "' . $search_date . '"'); //UNSEEN 未读邮件
foreach ($emails as $id) { imap_mail_move($inbox, $id, ‘INBOX.A’); //从收件箱中把该邮件移动到A文件夹 } imap_close($inbox);
|
注意事项
1,要开启邮箱的imap服务并获得授权码
2,163的邮箱在建立连接时会提示 login unsafe,解决方案参考
https://help.mail.163.com/faqDetail.do?code=d7a5dc8471cd0c0e8b4b8f4f8e49998b374173cfe9171305fa1ce630d7f67ac2eda07326646e6eb0
https://blog.csdn.net/LYD521000/article/details/133160119