как добавить массовый список адресов электронной почты в адрес, возвращенный из набора данных, с помощью sparkpost

Я пытаюсь добавить список массовой рассылки к адресам, чтобы я мог отправлять этот список массовой рассылки за раз. Здесь я сделал это, перебирая каждую запись, возвращенную из моего набора данных. Есть ли лучший способ добавить этот общий набор данных в список адресов без зацикливания. Заранее спасибо. Вот мой код

 DataSet ds = new DataSet();

 List<string> to = new List<string>();

//I have returned one dataset containing list of emails to be send.

 ds = email.GetBulkProcessMails("Process");

//here I am looping through every record in the dataset and adding that records to my List

 if (ds.Tables.Count > 0)
            {

                foreach (DataRow dtrow in ds.Tables[0].Rows)
                {
                    tomailscount bmscount = new tomailscount();
                    bmscount.destinationmails = dtrow["tomail_id"].ToString();
                    to.Add(bmscount.destinationmails.ToString());
                }
            }


//Here I am assigning that entire list to address and adding that recipient for transmission
  for (int i = 0; i < to.Count; i++)
            {
                var recipient = new Recipient
                {

                    Address = new Address { Email = to[i] }

                };
                transmission.Recipients.Add(recipient);
            }


//Here I am sending that transmission

var sparky = new Client(ConfigurationManager.AppSettings["APIKey"]);
sparky.Transmissions.Send(transmission);

person satepuri tarun    schedule 15.04.2016    source источник
comment
Если ds.Tables[0].Rows является постоянным, вы можете поместить его в список получателей и отправить через идентификатор списка. Это позволит вам отделить управление списком получателей от ваших передач.   -  person Yepher    schedule 26.04.2016


Ответы (1)


Вы можете удалить один цикл и просто сделать это:

if (ds.Tables.Count > 0)
{

    foreach (DataRow dtrow in ds.Tables[0].Rows)
    {
        tomailscount bmscount = new tomailscount();
        bmscount.destinationmails = dtrow["tomail_id"].ToString();
        to.Add(bmscount.destinationmails.ToString());
        transmission.Recipients.Add(new Recipient {
          Address = new Address { Email = bmscount.destinationmails.ToString() }
        });
    }

    // send it
    var sparky = new Client(ConfigurationManager.AppSettings["APIKey"]);
    sparky.Transmissions.Send(transmission);
}
person mberacochea    schedule 18.04.2016