Отправить письмо выбранным / найденным участникам в списке в C#

Я создал форму со списком под названием lstCompany, который отображает данные поиска, поисковыми текстовыми полями являются "Имя" и "PostCode" компании. У меня есть таблица с именем tblCompany, которая содержит CompanyNo(первичный ключ) с данными о компании в базе данных, включая электронную почту. Я хотел бы знать, как я могу отправить электронное письмо компаниям, которые я ищу в списке. Я сделал код, который отправляет электронную почту только одному человеку, которого я ввел в код. Ниже код для кнопки отправки

        var fromAddress = new MailAddress("myemail", "name");
        var toAddress = new MailAddress("other person's email", "name");
        const string fromPassword = "password";
        const string subject = "Testing";
        const string body = "Testing";

        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);
            MessageBox.Show("Your email has been sent!");
        }
    }

1 ответ

Попробуйте что-то вроде этого:

private MailMessage m = new MailMessage();

protected void ListTo_SelectedIndexChanged(object sender, EventArgs e)
{
     m.To.Add(new MailAddress("adress@mail.com"));
}

Если ваш список управляет множественным выбором, вы можете предпочесть:

protected void Button_Click(object sender, EventArgs e)
{            
    MailMessage m = new MailMessage();

    foreach (ListItem item in ListBox1.Items)
    {
        if (item.Selected)
            m.To.Add(new MailAddress(item.Value));
    }
}
Другие вопросы по тегам