2016-07-26 63 views
0

我试图发送带有图像附件的邮件,但它仍然抛出错误 (*属性或索引器“附件”不能分配给 - 它是只读*)属性或索引器“附件”不能被分配到 - 它是只读的

string pathToPic = @"c:\MyDir\Img\img"+ automaticalyGeneratedNumber.toString() + ".png"; 


using (var message = new MailMessage(fromAddress, toAddress) 
      { 
       Subject = Environment.MachineName, 
       Body = "PC NAME : " + Environment.MachineName + "\r\nIP ADRESS : " + Dns.GetHostEntry(Dns.GetHostName()).AddressList[1], 
       Attachments = new Attachment(@"c:\MyDir\Img" + "/img" + (Saving.CountImagesTaken(@"c:\MyDir\Img") - 1).ToString() + ".png"), 
      }) 
      { 
       smtp.Send(message); 
      } 

回答

0

为什么这样的代码变得复杂。您需要使用message.Attachments.Add,因为Attachments属性为只读:

var message = new MailMessage(fromAddress, toAddress) 
{ 
    Subject = Environment.MachineName, 
    Body = "PC NAME : " + Environment.MachineName + "\r\nIP ADRESS : " + Dns.GetHostEntry(Dns.GetHostName()).AddressList[1], 
}; 
message.Attachments.Add(new Attachment(@"c:\MyDir\Img" + "/img" + (Saving.CountImagesTaken(@"c:\MyDir\Img") - 1).ToString() + ".png")); 
using (message) 
{ 
    smtp.Send(message); 
} 
相关问题