我正在使用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();
我知道这是一个老问题,但这里没有答案,这确实有效:
(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);
希望它能帮助到别人!
您也可以使用:
Path.GetFullPath(x.Attachments[0].Name);