Hallo Community,
ich habe spaßeshalber angefangen etwas in C# und Office zu programmieren.
Aktuell erstelle ich ein AddIn für Outlook, welches Emails von einem Ordner in einen anderen verschiebt. Nichts wildes 😉
Das unten stehende Script funktioniert auch soweit, für bereits gecachte Elemente. Jedoch nutze ich Outlook 2016. Emails kommen von einem Exchange 2016 Server.
Outlook cached standardmäßig die letzten 12 Monate, diesen Zeitraum würde ich auch gerne beibehalten. Wie bereits gesagt werden die gecachten Elemente ordentlich verschoben, die restlichen Elemente jedoch nicht.
Gibt es eine elegantere Lösung die Emails zu verschieben? Eventuell direkt auf dem Exchange?
Viele Grüße
public void ThisAddin_MoveMails(Outlook.Folder final_source, Outlook.Folder final_dest)
{
//ThisAddin_archiveDate();
MessageBox.Show(final_source.Items.Count.ToString());
Outlook.MailItem movemail = null;
for (int i = final_source.Items.Count; i > 0; i--)
{
movemail = (Outlook.MailItem)final_source.Items[i];
try
{
if (movemail != null)
{
movemail.Move(final_dest);
}
}
catch (System.Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
Moin,
wenn ein Exchange im Hintergrund rumwerkelt, würde ich definitv die EWS Managed API verwenden.
Erste Schritte mit der verwalteten EWS Managed API
Gruß
Khalid
"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)