Разделение отправителя в MailMessage Class ASP.NET - PullRequest
0 голосов
/ 02 октября 2018

У меня есть этот метод, который будет отправлять электронную почту людям в соответствии с моим SQL SELECT, он работает следующим образом:

using (SqlCommand cmd = new SqlCommand("SELECT TITLE, RECIPIENT, SENDER FROM DAY2, CADUSER WHERE CADUSER.ID = ID_CADUSER", con))
{
    con.Open();
    SqlDataReader reader = cmd.ExecuteReader();
    while (reader.Read())
    {
        sb.AppendLine(reader["TITLE"].ToString());
        st.AppendLine(reader["RECIPIENT"].ToString());
        se.AppendLine(reader["SENDER"].ToString());
    }
}
SmtpClient smtpClient = new SmtpClient("mysmtp.com", 25);
smtpClient.Credentials = new System.Net.NetworkCredential("______", "______");
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;

try
{
    MailMessage mailMessage = new MailMessage(se.ToString(), st.ToString());
    mailMessage.Subject = "New Documents";
    mailMessage.Body = "The documents are: \n" + sb.ToString();
    smtpClient.Send(mailMessage);
}
catch (ArgumentException)
{

}

Проблема в том, что, когда у меня более 1 отправителя или получателя, он выиграл 'Это не работает, потому что команда AppendLine объединит каждый результат из моего выбора в одну строку, например, так: test @ gmail.comtest2 @ gmail.com, что делает невозможной отправку.

Как я могу отделить один адрес электронной почты от одного дляисправить эту проблему?Мысль о том, чтобы сделать рутину в то время как, но я не знаю.

1 Ответ

0 голосов
/ 02 октября 2018

Короче, попробуйте это:

MailMessage mail = new MailMessage();
SmtpClient SmtpServer = new SmtpClient();

List<string> To = new List<string>();
To.Add("email1@gmail.com");
To.Add("email1@gmail.com");

foreach (var item in To)
{
     mail.To.Add(to);
}

SmtpServer.Send(mail);

Проверьте это , есть много атрибутов, которые могут вам помочь.

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...