访问电子邮件附件

时间:2013-07-30 05:58:33

标签: c# email azure-storage email-attachments

我正在尝试访问电子邮件中的文件附件,并将附件作为blob上传到azure表存储。

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
                }
            }

        }

当我加载附件时,我收到错误说"请求未通过架构验证:所需属性' Id'不见了。"。 关于这个的任何想法

1 个答案:

答案 0 :(得分:1)

据我了解,您正在寻找一种方法将附件内容加载到流中,您可以将其作为blob进一步上传。

如果是这种情况,我建议您将文件附件的内容写入MemoryStream:

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

如果您想以字符串形式阅读内容,您也可以这样做:

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

希望这有帮助!