Мне нужно автоматически удалить старые электронные письма из веб-почты. Как мне это сделать? У кого-нибудь есть идея?
Как удалить электронные письма старше любой заданной даты в веб-почте?
Ответы (1)
Вы можете использовать клиентские библиотеки IMAP на разных языках:
Вот некоторые примеры:
- электронная почта - PHP удаляет старые сообщения из почтовой учетной записи IMAP - Stack Overflow на русском /а>
- python - удаление сообщений imap – 2 Ответа
Я уже использовал 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);
?>
person
Chocolord
schedule
14.08.2018