c # объект электронной почты для передачи вложения - PullRequest
2 голосов
/ 05 января 2011

Я пытаюсь создать и отправить вложение электронной почты из объекта, который представляет собой список списков. Я нашел хорошо документированный ответ здесь, , но все еще есть некоторая путаница.

Упоминается "получить некоторые двоичные данные"

//Get some binary data
byte[] data = GetData();

Я проверил свои данные по:

Console.WriteLine(ieLog.FirstName + "." + ieLog.LastName);

Полагаю, мой вопрос в том, как превратить это в поток, если он еще не один, а затем использовать:

//save the data to a memory stream
MemoryStream ms = new MemoryStream(data);

а затем отправить вложение?

Спасибо за любую помощь или подсказки.

Я бы хотел быть первоклассным документом или CSV, если я не могу этого понять. Я уверен, что уже есть классы для такого рода вещей, где новичок ищет такую ​​информацию?

1 Ответ

4 голосов
/ 05 января 2011

Я написал это прямо в браузере, но все должно быть в порядке:

...

byte[] data = ASCIIEncoding.Default.GetBytes(ieLog.FirstName + "." + ieLog.LastName);

using(MemoryStream ms = new MemoryStream(data))
{
    mail.Attachments.Add(new Attachment(ms, "myFile.csv", "text/csv" ));

    SmtpClient smtp = new SmtpClient("127.0.0.1");
    smtp.Send(mail);   
}
...