Hi,
Thank you for your inquiry.
I think the problem is due to the reason that you are overwriting the indexed stream with same contents. Below is source code for your reference. Please give it a try with latest version of Aspose.Email for .NET v1.3.0 and let us know of your results.
C#
var message = Aspose.Email.Mail.MailMessage.Load(“C:\temp\message.msg”);
int counter = 0;
string[] attachmentName = new string[message.Attachments.Count];
string[] contentType = new string[message.Attachments.Count];
Stream[] stream = new Stream[message.Attachments.Count];
foreach (Attachment attachment in message.Attachments)
{
attachmentName[counter] = attachment.Name;
contentType[counter] = attachment.ContentType.ToString();
stream[counter] = attachment.ContentStream;
[//attachment.Save ](https://attachment.save/)(stream[counter]);
counter++;
}