2017-08-17 46 views
2

這是我的代碼中的一個類。如何從主項目發送附件

string to = message.Text; 
string from = "[email protected]"; 
MailMessage messagex = new MailMessage(from, to); 

string mailbody = "Welcome!"; 
messagex.Subject = "Hello"; 
messagex.Body = mailbody; 
messagex.Attachments.Add(new System.Net.Mail.Attachment("C:\\doc\\start.pdf")); 

messagex.BodyEncoding = Encoding.UTF8; 
messagex.IsBodyHtml = true; 
SmtpClient client = new SmtpClient("smtp.office365.com", 587); 
System.Net.NetworkCredential basicCredential1 = new 
       System.Net.NetworkCredential("[email protected]", "XXX"); 
client.EnableSsl = true; 
client.UseDefaultCredentials = false; 
client.Credentials = basicCredential1; 

client.Send(messagex); 
context.Done(string.Empty); 

該班發送帶附件的電子郵件,效果很好。但是我的問題是它在Azure中作爲Web服務發佈時,因爲在「C:\\」上沒有找到任何名爲「doc」的文件夾。如何從主解決方案引用附件到文件夾? 謝謝。

回答

0

Attachment類可以使用Stream來構造,因此它可以包含任何東西並且來自任何地方。

所以基本上在內存中生成附件並將其包裝在MemoryStream或類似內容中。

+0

適用於此,但無法打開文件。發送的pdf大小:211KB,收到的pdf:312字節。有事情發生。 –

+0

如果您沒有發佈該問題的代碼,我無法幫助您,請記住,這可能是一個*新問題。 –

0

嘗試此..

字符串路徑= Application.StartupPath + 「\ DOC \的test.xml」;