Eingebettete E‑Mail-Anhänge aus Nachrichten in Aspose.Email lesen
Contents
[
Hide
]
Aspose.Email – Eingebettete E‑Mail‑Anhänge aus Nachricht lesen
Manchmal erhalten wir E‑Mails, in denen andere E‑Mails als Anhänge eingebettet sind. Diese eingebetteten E‑Mails sind komplette Nachrichten mit eigener Empfängerliste, Betreff, Inhalt und sogar Anhängen. Jede dieser Nachrichten kann ebenfalls eingebettete Nachrichten enthalten. Mit Aspose.Email Java können Entwickler jede eingebettete Nachricht als einzelne Nachricht zugreifen. Dieses Beispiel zeigt die Verwendung der rekursiven Funktionalität.
Java
MailMessage message = MailMessage.load(dataDir + \"embedded.msg\", MessageFormat.getMsg());
for (int i = 0; i < message.getAttachments().size(); i++)
{
Attachment att = (Attachment) message.getAttachments().get_Item(i);
System.out.println("Attachment Name: " + att.getName());
// Get the name of attachment. If msg subject contains characters like :, /, \ etc., replace with space
// because windows cannot save files with these characters
// also save first 50 characters as file name to avoid long file names
String attFileName = att.getName().replace(".eml", "").replace(":", " ").replace("\\", " ").replace("/", " ").replace("?", "");
if (attFileName.length() > 50)
{
attFileName = attFileName.substring(0, 50);
}
String attExt = (att.getName().substring(att.getName().lastIndexOf("."), att.getName().lastIndexOf(".") + 4));
// Save the attachment to disk
att.save(dataPath + attFileName + attExt);
// Check if it is an orphaned text attachment file (ATT00001.txt....) and of type eml
if ((attExt.equals(".eml")) || (att.getContentType().getMediaType().equals("text/plain") && att.getName().contains(".txt") == true && att.getName().contains("ATT") == true))
{
// Try to load this text file in MailMessage
MailMessage attMsg = MailMessage.load(dataPath + attFileName + attExt, MessageFormat.getEml());
// Call the function recursively to parse this message and attachments
ParseMessage(attMsg);
}
}Laufenden Code herunterladen
Beispielcode herunterladen
Weitere Details finden Sie unter Eingebettete E‑Mail‑Anhänge aus Nachricht lesen.