小弟最近由于客户的需求,要实现如下功能:
在DATAGRID中绑定了若干收件人的E-Mail地址,页面还有一个BUTTON,DATAGRID中有一列CheckBox可以单选也可以复选。当选择好后,可以把把所选的记录中的内容发到所对应的收件人的E-Mail地址中去.....目前CheckBox单选全选问题已经解决了,剩下主要两个问题:1.如何取出DataGrid中的收件人的E-Mail地址?
2.取到以后如何实现点击Button的邮件群发?小弟分不多啦,真诚求教,问题解决立马给分!

解决方案 »

  1.   

    遍历 DataGrid 获取收件人信息,做法跟你获取 CheckBox 控件一样,用分号格开 [email protected];[email protected];[email protected] 
    1
    foreach ( DataGridItem dataGridItem in dataGrid.Items )
    {
        string email = dataGridItem.Cells[n].Text;
    }MailMessage mailMessage = new MailMessage();

    mailMessage.From       = 
    mailMessage.To         = 
    mailMessage.Cc         = 
    mailMessage.Subject    = 
    mailMessage.BodyFormat = MailFormat.Html;
    mailMessage.Body       = SmtpMail.SmtpServer = "MailServerName";
    SmtpMail.Send(mailMessage);
      

  2.   

    第一个问题已经解决,现在剩下第2个问题
    主要困难是若把DataGrid中的其它字段作为邮件内容发送给对应的E-MAIL地址的话,用:foreach (DataGridItem i in dg1.Items)
    {
          CheckBox ChkBxItem = (CheckBox) i.FindControl("CheckOne");

          if (ChkBxItem.Checked)
    {
    BxsChkd = true;
    email += ""+i.Cells[6].Text.ToString()+""+",";
    content += ""+i.Cells[5].Text.ToString()+""+",";
    }
    }得到的内容是混在一起的,根本没有办法分别发送!!
      

  3.   

    1、如果是每一行的内容发给对应的人的话,可以在foreach (DataGridItem i in dg1.Items)
    {
        mail.To = ;
        mail.Content = ;
        SendEmail();
    }2、如果是每一行的内容发给所有人的话,先遍历 DataGrid 获取收件人,然后逐一发送邮件
    foreach (DataGridItem i in dg1.Items)
    {
       email = email + ";"
    }foreach (DataGridItem i in dg1.Items )
    {
        mail.Content = ;
        SendEmail();
    }
      

  4.   

    一个 MailMessage 对象对应为一封邮件
      

  5.   

    //****选择邮件用模态窗口用foreach(string str in strTempUser)
    {
       //*****调用发送邮件接口
    }