udaya726
udaya726

Reputation: 1020

Access the email attachment

I am trying to access the file attachment in the email message and upload the attachment to a azure table storage as a blob.

using Microsoft.Exchange.WebServices.Data
public void SendEmail(EmailMessage emailMessage)
        {Stream stream = null;
            foreach (Attachment attachment in emailMessage.Attachments)
            {
                if (attachment is FileAttachment)
                {
                    FileAttachment file = (FileAttachment)attachment;
                    file.Load(stream);
                    emailAttachment.UploadEmailAttachment(attachmentFileName, stream);// This will upload to the table storage
                }
            }

        }

when I load the attachment I am getting a error saying "The request failed schema validation: The required attribute 'Id' is missing.". Any idea regarding this

Upvotes: 1

Views: 473

Answers (1)

Kunal Kapoor
Kunal Kapoor

Reputation: 768

As I understand, all you are looking for a way to load the contents of the attachment into a stream which you can further upload as blob.

If that is the case, I would suggest you to write the contents of your file attachment into MemoryStream instead:

var stream = new System.IO.MemoryStream(fileAttachment.Content);

If you want to read the contents as string, you can do that as well:

var reader = new System.IO.StreamReader(stream, UTF8Encoding.UTF8);
var text = reader.ReadToEnd();

Hope this helps!

Upvotes: 1

Related Questions