خواندن پیوست‌های ایمیل توکار از پیام در Aspose.Email

Aspose.Email - خواندن پیوست‌های ایمیل embedded از پیام

گاهی ایمیل‌هایی دریافت می‌کنیم که ایمیل‌های دیگر به عنوان پیوست درون آن‌ها قرار دارند. این ایمیل‌های embedded پیام‌های کاملی با لیست دریافت‌کنندگان، موضوع، بدنه و حتی پیوست‌های خود هستند. هر یک از این پیام‌ها می‌توانند شامل پیام‌های embedded دیگری نیز باشند. با استفاده از Aspose.Email Java، توسعه‌دهندگان می‌توانند به هر پیام embedded به عنوان یک پیام جداگانه دسترسی پیدا کنند. این مثال نحوه استفاده از عملکرد بازگشتی را نشان می‌دهد.

جاوا

 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);

    }

}

بارگیری کد اجرایی

بارگیری کد نمونه