如何删除网络邮件中早于给定日期的电子邮件?

时间:2018-08-14 11:23:51

标签: webmail

我需要从网络邮件中自动删除较旧的电子邮件。我该怎么做?有人有主意吗?

1 个答案:

答案 0 :(得分:0)

您可以使用不同语言的IMAP客户端库:

以下是一些示例:

我已经使用PHP来完成此任务。

<?php // Example from the first link

$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);
?>