Baca Lampiran Email Tersemat dari Pesan di Aspose.Email

Aspose.Email - Baca Lampiran Email Tertanam dari Pesan

Terkadang, kami menerima email dengan email lain yang tertanam di dalamnya sebagai lampiran. Email yang tertanam ini merupakan pesan lengkap dengan daftar penerima, subjek, isi, dan bahkan lampiran mereka sendiri. Setiap pesan ini juga dapat berisi pesan tertanam. Dengan menggunakan Aspose.Email Java, pengembang dapat mengakses setiap pesan tertanam sebagai pesan individual. Contoh ini menunjukkan cara menggunakan fungsi rekursif.

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

    }

}

Unduh Kode yang Berjalan

Unduh Kode Contoh