• Convert meeting response in the MapiMessage format (.msg) to the MailMessage MIME format (not as TNEF) (.eml)

Issue: “Aspose.Email for Java” created the ICalendar as the meeting request instead of meeting response.

@thuang888

To convert a meeting response in the MapiMessage format (.msg) to the MailMessage MIME format (.eml) using Aspose.Email for Java, you can utilize the MailConversionOptions class. This allows you to convert the MapiMessage directly to a MailMessage without needing to save it to a file.

Here’s a sample code snippet demonstrating how to perform this conversion:

import com.aspose.email.MailConversionOptions;
import com.aspose.email.MailMessage;
import com.aspose.email.MapiMessage;

public class MapiToMailMessage {
    public static void main(String[] args) {
        // Load the MapiMessage from a .msg file
        MapiMessage mapiMessage = MapiMessage.load("path/to/your/message.msg");

        // Create MailConversionOptions
        MailConversionOptions options = new MailConversionOptions();

        // Convert MapiMessage to MailMessage
        MailMessage mailMessage = mapiMessage.toMailMessage(options);

        // Save the MailMessage as .eml
        mailMessage.save("path/to/your/output.eml");
    }
}

Make sure to replace "path/to/your/message.msg" and "path/to/your/output.eml" with the actual file paths. This code will convert the meeting response correctly, ensuring that it is formatted as a MailMessage in MIME format.

For more detailed examples and API references, you can check the following resources:

This should help you achieve the desired conversion without generating an ICalendar as the meeting request.

Testing Steps:

  1. Receive a meeting request via Outlook

  2. Accept the meeting request; Send the Response Now

  3. Go to Outlook “Sent Items” folder.

  4. Find the “meeting response” message that was sent out. Open the message. Click “File” , then “Save As” type of Outlook Message Format, e.g. meeting-response.msg

  5. Execute the following codes to do the conversion:

             MapiMessage outlookMsg = MapiMessage.load("path/to/your/meeting-response.msg");
    
     MailConversionOptions moptions = new MailConversionOptions();
     moptions.setConvertAsTnef (false);
     moptions.setKeepOriginalEmailAddresses(true);
     		
     MailMessage mail = outlookMsg.toMailMessage(moptions);		
     mail.save("path/to/your/meeting-response.eml");
    
  6. Open meeting-response.eml. You will find the converted ICalendar is a meeting request instead of meeting response. Outlook cannot open meeting-response.eml

Hello @thuang888,

Thank you for your report. We will check this and get back to you.

@thuang888
We have opened the following new ticket(s) in our internal issue tracking system and will deliver their fixes according to the terms mentioned in Free Support Policies.

Issue ID(s): EMAILJAVA-35351

You can obtain Paid Support Services if you need support on a priority basis, along with the direct access to our Paid Support management team.