Удаление почты через cron

удалить письма с сервераВторой частью мы продолжаем тему про создание собственного сервиса с временной почтой. Вы ведь понимаете, что если мы собираем всю почту в один ящик изо дня в день, то его размеры будут расти. И когда-нибудь ваш хостер начнет сердиться. Отсюда вытекает задача: удалять приходящие email письма. Руками делать подобное — крайне неблагодарное дело. Да и никакой почтовый клиент вам не позволит сделать подобного. Так почему бы снова не заставить сервер делать это за нас?
На помощь спешит Cron — планировщик задач. Большинство нормальных хостеров поддерживают возможность создания задач для сервера. Некоторые компании, например, настолько упрощают жизнь себе и окружающим, что достаточно в контрольной панели указать исполняемый php-файл, время и периодичность. Далее сценарий будет выполнен в автоматическом режиме.
Слава богам интернета, что существует шикарный сайт-шпаргалка php.net! С его помощью скопировал простой и гениальный код:

<?php
$mbox = imap_open("{ваш.почтовый.сервер}INBOX", "ваша.почта", "ваш.пароль")
or die("Can't connect: " . imap_last_error());
$check = imap_mailboxmsginfo($mbox);
echo "Messages before delete: " . $check->Nmsgs . "<br />\n";
imap_delete($mbox,'1:*');
$check = imap_mailboxmsginfo($mbox);
echo "Messages after  delete: " . $check->Nmsgs . "<br />\n";
imap_expunge($mbox);
$check = imap_mailboxmsginfo($mbox);
echo "Messages after expunge: " . $check->Nmsgs . "<br />\n";
imap_close($mbox);
?>

На всякий случай, оставляю ссылку на функцию imap_delete с вышеуказанного сайта. Смотри там пример #1.
В общем-то, тут можно оставить всего пару строк, но мне было лень возиться. Да и, как известно, лучше вообще не трогать то, что и так работает. Пара слов о коде: кроме полной очистки INBOX ящика, он выводит количество писем до и после удаления. Вдруг вы захотите собирать отчет о приходящем спаме или что-то подобное.
Ну, а при реализации сервиса с временной почтой остается только указать планировщику (как и говорилось выше) файл со скриптом и задать периодичность. Хороший вариант при средней захламленности домена: удалять все письма раз в сутки поздно ночью или ранним утром. Таким образом, автоматическая очистка почты не помешает вам.
1 Часть. Описание технической задачи. Рассуждения.
2 Часть. Пишем скрипт генератора email адресов.
4 Часть. Выбор доменного имени. Бесплатный домен?

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

вoceмьдecят пять − вoceмьдecят oдин =