2012-11-25 128 views
2

如何将多个文件附加到发送电子邮件中。如何将多个文件附加到电子邮件中

我使用以下方法发送电子邮件。

public static void sendMail(string to, string from, string password, string subject, string body, int dep_code) 
     { 
       MailMessage mail = new MailMessage(); 
       SmtpClient smtp = new SmtpClient(); 
       if (to == "") 
        to = "-------"; 
       MailAddressCollection m = new MailAddressCollection(); 
       m.Add(to); 
       mail.Subject = subject; 
       mail.From = new MailAddress(from); 

       string banneredBody = @"<table width='100%' border='0' dir='rtl'>" + 
              "<tr>" + 
              "<td align='center'><img src=cid:Image1 /></td>" + 
              "</tr>" + 
              "<tr>" + 
              "<td align='center'>" + body + "</td>" + 
              "</tr>" + 
             "</table>"; 

       mail.Body = banneredBody; 
       //mail.Body = body; 
       mail.IsBodyHtml = true; 
       mail.ReplyTo = new MailAddress(from); 
       mail.To.Add(m[0]); 
       smtp.Host = "...."; 
       smtp.Port = 25; 
       smtp.EnableSsl = false; 
       smtp.Credentials = new System.Net.NetworkCredential(from, password); 
       ServicePointManager.ServerCertificateValidationCallback = delegate(object s, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { return true; }; 

       smtp.Send(mail); 

     } 

如何通过文件参数附加它们。

我用RadAsyncUpload

private List<Telerik.Web.UI.UploadedFileInfo> uploadedFiles = new List<Telerik.Web.UI.UploadedFileInfo>(); 
     public List<Telerik.Web.UI.UploadedFileInfo> UploadedFiles 
     { 
      get { return uploadedFiles; } 
      set { uploadedFiles = value; } 
     } 

private void PopulateUploadedFilesList() 
     { 
      foreach (UploadedFile file in rad_upload.UploadedFiles) 
      { 
       UploadedFileInfo uploadedFileInfo = new UploadedFileInfo(file); 
       UploadedFiles.Add(uploadedFileInfo); 
      } 
     } 
+0

那你试试?你有什么麻烦? – SLaks

回答

3

您应该使用Attachments属性:

foreach (var file in UploadedFiles) 
{ 
    mail.Attachments.Add(file); 
} 

顺便说一句,你可以使用MailAddress指定要在邮件发送到一个地址:

mail.To.Add(new MailAddress(to)); 
1

MailMessage有一个名为Attachments财产......你需要添加你要发送到该属性的所有附件...一些示例源代码并且可以在MSDN herehere上找到解释。

相关问题