Ich verwende MailKit eine Liste der vollständigen IMessageSummaries wie folgt zu erhalten:Wie bekomme ich MIMEMessage von IMessageSummary?
var allMessages = remoteFolder.Fetch(remoteIndexList, MessageSummaryItems.Full | MessageSummaryItems.Flags | MessageSummaryItems.UniqueId | MessageSummaryItems.BodyStructure);
ich in irgendwelchen Optimierungen nicht interessiert bin wie Teile des IMessageSummary usw. herunterzuladen, ich will nur die gesamten Daten, so schnell wie ich es bekommen kann.
aber den oben beschriebenen Ansatz verwenden, kann ich nicht lesen dann richtig den HTML-Code in den Körper der Nachricht, zum Beispiel HtmlPreviewVisitor
verwenden, da die Body
Eigenschaft IMessageSummary
ein BodyPartBasic
ist. Ich brauche natürlich das ganze MimeMessage
.
Das Problem ist, dass, wenn ich mehrere MimeMessages
bekommen möchte, kann ich nicht, ich kann nur eins nach dem anderen mit ImapClient.GetMessage(int index, ...)
Methode.
Gibt es eine Möglichkeit alle Teile aus dem ursprünglichen MimeMessage
zu extrahieren, die verwendet wurde IMessageSummary
zu erstellen und nutzen sie mit HtmlPreviewVisitor
ohne jede volle MimeMessage
wieder herunterladen zu müssen?
Ja, ich habe herausgefunden, dass ich GetMessage() für jede IMessageSummary verwenden sollte, aber warum gibt es nicht die GetMessages() -Methode, die eine Liste von Nachrichten mit nur einer Anfrage an den IMAP-Server zurückgibt, genau wie Fetch()? – Nevca
Weil das eine Menge Daten ist, die in den Speicher geworfen werden würden. – jstedfast
Dank @jstedfast – Nevca