获取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();

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

(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);

最新更新