2

我正在使用 MailMessage 队列,退出程序后我想保存队列的内容。

我创建了一个临时列表并将队列的内容传递给它。之后使用一个简单 StreamWriter的写出每个信息。

我似乎唯一无法得到的是附件的路径。据我所知,我不能简单地保存邮件,所以我认为这也可以,但如果有更简单/不同的解决方案,那就太好了。

List<MailMessage> temp = queue.ToList<MailMessage>();
Stream stream = File.Open("Queue" +".osl", FileMode.Create);
StreamWriter s = new StreamWriter(stream);
foreach (MailMessage x in temp)
{
    s.WriteLine(x.From.Address + x.To[0].Address + x.Body + x.Subject + x.Attachments[0].Name);
}
s.Close();
stream.Close();
4

2 回答 2

0

我知道这是一个老问题,但这里没有答案,这确实有效:

(attachmentObject.ContentStream as System.IO.FileStream).Name

在您的具体情况下,它将是:

s.WriteLine(x.From.Address + x.To[0].Address + x.Body + x.Subject + (x.Attachments[0].ContentStream as System.IO.FileStream).Name);

希望它可以帮助某人!

于 2017-01-06T16:43:42.800 回答
-1

您还可以使用:

Path.GetFullPath(x.Attachments[0].Name);
于 2011-07-06T15:26:55.613 回答