C# 访问电子邮件附件
我正在尝试访问电子邮件中的文件附件,并将附件作为blob上载到azure表存储C# 访问电子邮件附件,c#,email,azure-storage,email-attachments,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) {
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'。
关于这方面的任何想法据我所知,您都在寻找一种方法,将附件的内容加载到流中,您可以进一步将其作为blob上传 如果是这样,我建议您将文件附件的内容写入MemoryStream:
var stream = new System.IO.MemoryStream(fileAttachment.Content);
如果要将内容读取为字符串,也可以执行以下操作:
var reader = new System.IO.StreamReader(stream, UTF8Encoding.UTF8);
var text = reader.ReadToEnd();
希望这有帮助 据我所知,您正在寻找一种方法,将附件的内容加载到流中,您可以将其作为blob进一步上传 如果是这样,我建议您将文件附件的内容写入MemoryStream:
var stream = new System.IO.MemoryStream(fileAttachment.Content);
如果要将内容读取为字符串,也可以执行以下操作:
var reader = new System.IO.StreamReader(stream, UTF8Encoding.UTF8);
var text = reader.ReadToEnd();
希望这有帮助