获取MailMessage附件的路径

时间:2011-07-03 17:06:14

标签: c# save mailmessage

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

2 个答案:

答案 0 :(得分: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);

希望它有所帮助!

答案 1 :(得分:-1)

您也可以使用:

Path.GetFullPath(x.Attachments[0].Name);