получение пути вложения MailMessage - PullRequest
2 голосов
/ 03 июля 2011

Я использую очередь 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 голосов
/ 06 января 2017

Я знаю, что это старый вопрос, но здесь нет ответа, и это действительно работает:

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

Надеюсь, это кому-нибудь поможет!

0 голосов
/ 06 июля 2011

Вы также можете использовать:

Path.GetFullPath(x.Attachments[0].Name);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...