قراءة المرفقات المتضمنة في البريد الإلكتروني من الرسالة في Aspose.Email

Aspose.Email - قراءة مرفقات البريد الإلكتروني المدمجة من الرسالة

أحيانًا نستقبل رسائل بريد إلكتروني تحتوي على رسائل بريد إلكتروني أخرى مدمجة كملفات مرفقة. هذه الرسائل المدمجة هي رسائل كاملة لها قائمة المستلمين الخاصة بها، والموضوع، والنص، وحتى مرفقات. يمكن لكل من هذه الرسائل أن يحتوي أيضًا على رسائل مدمجة. باستخدام Aspose.Email Java، يمكن للمطورين الوصول إلى كل رسالة مدمجة كرسالة منفصلة. يوضح هذا المثال كيفية استخدام الوظيفة المتكررة.

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

    }

}

تحميل الكود القابل للتنفيذ

تحميل عينة الكود