2011-01-05 41 views
2

我想創建併發送一個電子郵件附件從列表的列表中的對象。我發現了一個很好的文檔回答here,,但仍有一些困惑。c#電子郵件對象流到附件

它提到「得到一些二進制數據」

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

我已經測試了我的數據:

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

我想我的問題是我怎麼把它轉換成一個數據流,如果它不是」 t已經有一個然後用:

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

然後發送附件?

謝謝你的任何幫助或提示。

我想成爲一名excel文檔或csv,如果我無法弄清楚。我確信已經有類的這類東西,newb在哪裏尋找這類信息?

+0

是什麼ieLog?你自己的一個類?...你如何期望作爲一個二進制文件被附加到電子郵件? – 2011-01-05 13:50:22

+0

這是什麼,如果它不是流(或'byte []')? – Oded 2011-01-05 13:50:43

+0

ieLog是登錄註銷時間的基本列表。我想將它作爲Excel文檔或csv附加。我沒有卡在流方法上,這是我迄今爲止所發現的。 – rd42 2011-01-05 14:00:18

回答

4

我直接在瀏覽器寫的,但它應該是確定:

... 

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); 
} 
+0

謝謝,我現在就試試看。 – rd42 2011-01-05 14:10:11

+0

你應該正在處理郵件(我猜測這是一個消息),並且也在.Net 4中處理了smtp。 – 2015-12-15 09:22:05