System.Net.Mail.MailMessage从String加载

时间:2016-11-01 13:19:13

标签: c# .net email mailmessage

我正在实施电子邮件发送逻辑。这就是我要做的事情。

每当系统想要发送电子邮件构造MailMessage对象(包含所有细节)并将该对象保存在数据库中(作为字符串)而不是同时发送。在后台进程中,将拾取和处理这些已保存的电子邮件。

字符串将取自MailMessge.ToString()方法。

现在我的问题是,我无法看到从保存的字符串中获取MailMessage对象的方法。我不确定MailMessage类是否支持此功能。

我的第二个选项是将原始数据保存在排队表(to,subject,body等)中,并在发送时构造MailMessage对象。我更喜欢第一种选择,因为它看起来更整洁。

如果有人知道如何实现这一目标,请告诉我。

提前致谢, Wijitha

1 个答案:

答案 0 :(得分:1)

  1. MailMessage.ToString()不是选项。

  2. 为了在数据库或文件中存储任何对象Class需要使用Serializable标记,但遗憾的是,如果是MailMessage,则不会使用Serializable属性进行标记。

  3. 所以你必须选择第二选择。

  4. 如果您不想使用第二个选项,请创建可序列化版本的MailMessage类,以帮助您将数据存储在数据库中。稍后您将获得该对象并转换为mailmessage并发送电子邮件。

    https://github.com/keyvan/Gopi/blob/master/Gopi/Gopi/SerializableMailMessage.cs