【问题标题】:Is there a non-binary format for an Outlook email message?Outlook 电子邮件是否有非二进制格式?
【发布时间】:2011-11-08 15:58:38
【问题描述】:

我想在网络服务器上创建一个将在 Microsoft Outlook 中打开的电子邮件文件。看起来可以派上用场的两种格式是 .MSG 格式和 .OFT 格式。

但是,两者似乎都是带有一堆流的 GZIP 格式。这很难在 Web 服务器上生成。

我可以使用基于 XML 或文本的格式对简单的电子邮件进行编码吗?

如果没有,是否有可以即时生成电子邮件的免费 .NET 库?

谢谢! 迈克

【问题讨论】:

  • Outlook Redemption 对你有用吗?
  • @Marco Redemption 是否在“无头”模式下工作? (MAPI 但没有 Outlook)。
  • “电子邮件文件”是什么意思,比如 .pst?
  • 看起来像商业图书馆,我找到了其中的一些..
  • @pst:我不确定,但我认为它不能...检查网站文档并提供帮助...抱歉...

标签: c# asp.net email file-format


【解决方案1】:

只需使用System.Net.Mail 并写入文件系统:

<system.net>  
   <mailSettings>  
      <smtp deliveryMethod="SpecifiedPickupDirectory">  
         <specifiedPickupDirectory 
             pickupDirectoryLocation="c:\yourdirectory"/>  
      </smtp>  
   </mailSettings>  
</system.net>

【讨论】:

  • 这些文件可以被 Outlook 打开吗?
  • 这是我第一次看到这样的事情:你太棒了!!!但是,对不起,你怎么能在硬盘上保存消息?创建新的 smtp 消息并发送?
  • 看起来唯一的方法是使用 SmtpClient 类,然后将文件保存到磁盘。然后我必须立即重新打开文件并将其写入 Response 对象。我想这会起作用,太糟糕了 MailMessage 类没有办法将 .eml 数据作为字节数组或其他东西访问。
  • 是的,就像发送一样使用 API,它将使用 SMTP 设置来写入磁盘。
  • 这不管用。它转储出一个 .EML 文件(纯文本)。此文件格式不会在 Outlook 中打开,它会尝试加载 Outlook Express。我想我需要一个 .MSG 文件。
【解决方案2】:

我决定使用 OpenMCDF 即时构建文件。这运行得很好,它是一个体面(且免费)的框架,用于处理紧凑的二进制文件。

【讨论】:

  • 嗨,迈克,感谢您向我们展示这个我从未听说过的好工具!我的问题是:要编写一个 .msg 文件,您需要知道添加哪些流以及如何添加,那么您是从哪里学到的呢?你找到一些医生了吗?谢谢
猜你喜欢
  • 2014-07-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-29
  • 1970-01-01
  • 2014-12-31
  • 2015-08-07
  • 1970-01-01
相关资源
最近更新 更多