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

时间:2013-03-10 07:23:19

标签: c# .net wpf winforms xaml

我不确定如何将MailMessages保存到文件中,以便以后可以在WebBrowser控件中读取和替换它们。

我应该保存哪种格式?

我正在使用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;
}

1 个答案:

答案 0 :(得分:1)

您可以将邮件保存为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>