PHP从IMAP邮件帐户删除旧邮件 [英] PHP delete old messages from IMAP mail account

查看:210
本文介绍了PHP从IMAP邮件帐户删除旧邮件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图访问IMAP网络邮件帐户,以便使用php删除旧邮件。到目前为止,我拥有的脚本是:

I am trying to access a IMAP webmail account in order to delete old messages using php. The script I have so far is:

<?php

$del = new DateTime();
$del->modify('-1 month');

$mbox = imap_open("{imap.test.com:993/imap/ssl}INBOX", "username", "password")
 or die("can't connect: " . imap_last_error());

$MC = imap_check($mbox);

// Fetch an overview for all messages in INBOX
$result = imap_fetch_overview($mbox,"1:{$MC->Nmsgs}",0);
foreach ($result as $overview) {
    $date = $overview->date;
    $date = DateTime::createFromFormat('D, d M Y H:i:s O', $date); 

    if($date<$del) {
        imap_delete($mbox,$overview->msgno);
    }

}   
imap_expunge($mbox);
imap_close($mbox);
?>

代码现在正确。但是虚拟主机服务不允许通过脚本从本地主机访问其IMAP服务器

推荐答案

您需要在分号上这行:

imap_expunge($mbox);

当无法解析PHP时,它将返回500错误。

when PHP can't be parsed it returns a 500 error.

这篇关于PHP从IMAP邮件帐户删除旧邮件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆