将附件从邮件项目保存到数据库

时间:2014-10-28 13:04:35

标签: c# sql-server outlook

我需要阅读邮件内容,如邮件,主题,主题,正文,邮件附件,并将其存储在数据库表中。我使用以下代码。

  EmailMessage msg = (EmailMessage)item;
  foreach (var col in msg.CcRecipients)
   {
   ccList += col.Address.ToString() + ";";
   }

   foreach (var col in msg.ToRecipients)
   {
   toList += col.Address.ToString() + ";";
   }

同样,我可以阅读身体和主题。问题在于阅读附件 如何阅读附件并将其存储在数据库中。

我可以使用msg.Attachments。但是对象的类型是什么。请建议一些更好的解决方案,以将附件存储到数据库。

2 个答案:

答案 0 :(得分:0)

您可能需要一个至少包含两列的表格。 varbinary用于存储实际文件(byte []),另一列varchar(string)用于存储mime类型。

答案 1 :(得分:0)

将EmailMessage与零或多个附件相关联。使用varbinary(MAX)作为SQL列类型。或FILESTREAM。参考文献如下:

  1. varbinary(max) tames blob(带代码)
  2. tsql binary & varbinary(msdn)
  3. Compare Options for Storing Blobs (SQL Server)(msdn)
  4. How To Update A BLOB In SQL SERVER Using TSQL(StackOverflow问题)
  5. Blob data in huge SQL Server database(StackOverflow问题)
  6. An Introduction to SQL Server FileStream(好教程)
  7. Download sqlserver varbinary(StackOverflow问题)