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

Ausgedruckt am: 28.03.2024 um 19:03 Uhr

Mitglied: vorstieg
vorstieg 26.08.2011 um 09:10:04 Uhr
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