0

アドレスのリストを取得し、Google smtp を使用してリスト内のすべての連絡先に同じ電子メール メッセージを送信する機能があります。しかし、いくつかの個別のメールを送信するため、私のコードはあまり効率的ではありません。同じクライアントに連絡先を追加して、一度に送信するにはどうすればよいですか?

ここに私の機能があります:

protected void btn_click(object sender, EventArgs e, List<string> address_l, List<string> names)
    {
        for (int i = 0; i < address_l.Count; i++)
        {
            var fromAddress = new MailAddress("dvir.rez@gmail.com", "Dvir");
            var toAddress = new MailAddress(address_l[i], names[i]);

            const string fromPassword = "2.4.862.4.86";
            const string subject = "test";
            string body = "Test body";

            var smtp = new SmtpClient
            {
                Host = "smtp.gmail.com",
                Port = 587,
                EnableSsl = true,
                DeliveryMethod = SmtpDeliveryMethod.Network,
                UseDefaultCredentials = false,
                Credentials = new NetworkCredential(fromAddress.Address, fromPassword)
            };
            using (var message = new MailMessage(fromAddress, toAddress)
            {
                Subject = subject,
                Body = body
            })
            {
                smtp.Send(message);
            }
        }

    }
4

1 に答える 1

4

BCCを使用して「ブラインド カーボン コピー」の受信者を追加します。受信者はメッセージのコピーを受信し、他の BCC の電子メール アドレスは表示されません。

for (int i = 0; i < address_l.Count; i++)
{
   message.Bcc.Add(new MailAddress(address_l[i], names[i]));
}
于 2013-05-29T14:38:07.767 に答える