有没有办法序列化.Net MailMessage对象

时间:2010-04-21 15:55:44

标签: c# email mailmessage

我正在尝试编写一个proc,它将把一个MailMessage对象作为参数,并将其拆分以将主题,正文,地址,地址和附件(硬部分)存储在数据库中,以便电子邮件可以在将来的某个时间发送。

我对此的第一个看法是撕掉我需要的部分并将它们存储在数据库中,除了附件之外,它的效果很好。我无法弄清楚如何循环整个集合,然后实际上用它们做任何事情。

有一种简单的方法可以序列化一个MailMessage对象,该对象实际上会用它来附加附件的内容吗?

我这样做是错的吗?有人曾经这样做过吗?

2 个答案:

答案 0 :(得分:1)

真的没有好办法做到这一点。所以,我继续使用我原来的循环MailMessage对象的方法,并得到我关心的所有信息。对于附件,这是最难的部分,每个附件都有一个ContentStream,我只是读入该流并将其写入磁盘,存储文件名,然后我可以在我想要实际发送它时重新创建它。

我还没有完全测试过这种方法,所以我不推荐给其他人,但它似乎是我们特定情况下的最佳解决方案。

答案 1 :(得分:0)

如果我不得不猜测我将使用的策略是将每个附件转换为字节数组,然后将这些字节数组和消息详细信息放入xml文档中,然后将该xml文档作为参数传递给数据库