尝试将邮件发送给多个收件人和抄送

问题描述

我正在尝试将邮件发送给多个收件人,但仅发送给单个收件人和抄送。 email_dt包含数据库中的收件人和抄送电子邮件地址。

string u1 = string.Empty; // cc address
string e_id = string.Empty; // recipient address
if (email_dt.Rows.Count > 0){
   for (int mail_k = 0; mail_k <= email_dt.Rows.Count - 1; mail_k++){
        if ((Convert.ToString(email_dt.Rows[mail_k][0]) != "")){
            if (Convert.ToString(email_dt.Rows[mail_k]["DESG"])=="DD"){
                e_id = Convert.ToString(email_dt.Rows[mail_k]["USR_EMAIL_ID"]);
            }
            if (Convert.ToString(email_dt.Rows[mail_k]["USR_DESG"]) == "PP"){
                u1 = Convert.ToString(email_dt.Rows[mail_k]["USR_EMAIL_ID"]);
            }
         }
    }
    message.To.Clear();
    message.To.Add(e_id);
    message.CC.Add(u1);
    smtpClient.Send(message);
}

我想将电子邮件发送给多个收件人和抄送。任何想法如何实现将不胜感激

解决方法

在for循环中添加收件人和抄送。尝试以下代码。

string u1 = string.Empty; // cc address
string e_id = string.Empty; // recipient address
if (email_dt.Rows.Count > 0) {
   message.To.Clear();
   for (int mail_k = 0; mail_k <= email_dt.Rows.Count - 1; mail_k++) {
      if ((Convert.ToString(email_dt.Rows[mail_k][0]) != "")) {
          if (Convert.ToString(email_dt.Rows[mail_k]["DESG"])=="DD") {
             e_id = Convert.ToString(email_dt.Rows[mail_k]["USR_EMAIL_ID"]);
           }
           if (Convert.ToString(email_dt.Rows[mail_k]["USR_DESG"]) == "PP") {
             u1 = Convert.ToString(email_dt.Rows[mail_k]["USR_EMAIL_ID"]);
           }
           if(!string.IsNullOrWhiteSpace(e_id))
             message.To.Add(e_id);
           if(!string.IsNullOrWhiteSpace(u1))
             message.CC.Add(u1); 
        }
    }
    smtpClient.Send(message);
}