我应该如何将MailMessages保存到文件?

问题描述:

我不确定我应该如何将MailMessages保存到文件中,以便以后可以从WebBrowser控件中读取和移出它们。我应该如何将MailMessages保存到文件?

我应该保存哪种格式?

我正在使用AE.NET Mail IMAP库,这是我已经拿出来的代码。只是不确定我们应该如何保存邮件正文。

int count = client.GetMessageCount("Inbox"); 

if (count > 0) 
{ 
    AE.Net.Mail.MailMessage[] messages = client.GetMessages(0, 10, false, false); 
    foreach (AE.Net.Mail.MailMessage message in messages) 
    { 
     collection.Add(new Message() 
     { 
      Id = message.MessageID, 
      Sender = message.From.User, 
      Subject = message.Subject, 
      Content = message.Body 
     }); 
    } 

    list.ItemsSource = collection; 
} 

您可以将邮件保存为xml并使用一点点xsl转换,您可以轻松地显示邮件。例如:

mail.xml

<?xml version="1.0" encoding="utf-8" ?> 
<?xml-stylesheet type="text/xsl" href="email.xsl" ?> 
<email> 
    <id>1</id> 
    <sender>Ali B</sender> 
    <subject>Oops</subject> 
    <content>What ever...</content> 
</email> 

email.xsl

<?xml version="1.0" encoding="utf-8" ?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <xsl:template match="/"> 
     <html> 
      <body> 
       <xsl:apply-templates/> 
      </body> 
     </html> 
    </xsl:template> 

    <xsl:template match="id"> 
     <p> 
      <xsl:value-of select="."/> 
     </p> 
    </xsl:template> 

    <xsl:template match="sender"> 
     <p> 
      <xsl:value-of select="."/> 
     </p> 
    </xsl:template> 

    <xsl:template match="subject"> 
     <p> 
      <xsl:value-of select="."/> 
     </p> 
    </xsl:template> 

    <xsl:template match="content"> 
     <p> 
      <xsl:value-of select="."/> 
     </p> 
    </xsl:template> 

</xsl:stylesheet>