Tengo una cuenta de correo que recibe y almacena copias de los recibos enviados a los clientes que hacen reservas.
Como la cuenta se llena con el tiempo, y como no tengo ningún interés en mirar el contenido y manejar manualmente los correos, necesito una solución automática para iniciar sesión y eliminar los correos que tienen más de x días.
Las secuencias de comandos PHP no son una opción ya que mi proveedor de servicios no permite el acceso de secuencias de comandos al servidor de correo.
¿Alguna idea para un servicio (de correo) que pueda configurar una regla para eliminarlos automáticamente (sin tener que iniciar sesión en su sistema)?
No pude colocar un script accediendo a los correos de mi dominio. Sin embargo, resulta que solo bloquearon el acceso al host local, pero no el acceso al host externo. Por lo tanto, mi respuesta a la solución fue, al final, un script php.
Pensé en compartirlo para los interesados.
Sin embargo, nunca encontré un servicio que pudiera ayudarme.
Script para eliminar automáticamente correos antiguos:
<?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);
?>
albahaca bourque
Morten Repsdorph Husfeldt