stefankittel
Goto Top

Kennt Jemand ein Programm oder Script mit dem man täglich alle Emails per IMAP in einem Postfach löschen kann die älter als 14 Tage sind?

Hallo,
ein Kunde von uns verwendet ein Smartphone. Allerdings unabhängig von seinem Email-Programm.
Die synchronisation ist hier aus politischen Gründen nicht gewünscht.
Also 2 Exchange-2007-Postfächer und Email gehen an beide.

Er arbeitet nur mit dem Postfach am Notebook und schaut in das Smartphone nur informativ rein, antwortet dort aber nie.

Jetzt ist dieses Postfach natürlich irgendwann voll(er) und es sollen täglich (notfalls wöchentlich) alle Emails einfach gelöscht werden die älter als 14 Tage ohne eine Lese- oder Lösch-Bestätigung zu verschicken.
Aktuell macht das Jemand wöchentlich manuell mit Thunderbird (via IMAP) und dabei werden hin und wieder doch Emails verschickt. Der MA schwört Stein und Bein keine zum Lesen geöffnet zu haben.

Kennt Jemand ein Programm oder Script mit dem man dies machen könnte für Windows XP?
Auf den Exchange-Server bekomme ich hierfür keinen Zugriff. Es muss also auf einem Client laufen per IMAP oder POP3.

Danke

Stefan

Content-Key: 172107

Url: https://administrator.de/contentid/172107

Printed on: April 19, 2024 at 10:04 o'clock

Member: vorstieg
vorstieg Aug 26, 2011 at 07:10:04 (UTC)
Goto Top
Hi

hab ein kleines C#-Programm für dich geschrieben.

du musst nur die OpenPop.dll runterladen und einbinden: http://sourceforge.net/projects/hpop/

using System;
using OpenPop.Pop3;
using OpenPop.Mime;

namespace ConsoleApplication1
{
class Program
{
static void Main(string args)
{
Pop3Client popClient = new Pop3Client();
popClient.Connect("pop3.web.de", 110, false);
popClient.Authenticate("user@web.de", "passwort");

int messageCount = popClient.GetMessageCount();
for (int i = messageCount; i > 0; i--)
{
OpenPop.Mime.Message message = popClient.GetMessage(i);
if(message.Headers.DateSent < (DateTime.Today.Subtract(new TimeSpan(14,0,0,0))))
{
//Console.WriteLine(message.Headers.From.MailAddress.ToString()+ message.Headers.DateSent.ToShortDateString());
popClient.DeleteMessage(i);
}
}
}
}
}

Wenn du nicht damit zurecht kommst, schreib mir deine Email Adresse und ich melde mich bei dir.

Viele Grüße Flo