Невозможно прикрепить письмо к MailMessage

Я пытаюсь создать список электронных писем из SQL, а затем использовать этот список, чтобы прикрепить каждый адрес электронной почты к почтовому сообщению. Я получаю:

Указанная строка не в форме, необходимой для адреса электронной почты.

Что я делаю неправильно? Эта ошибка происходит на foreach внутри Page_Load. При просмотре переменной mailAddress она показывает адреса электронной почты в обычном порядке, как и "johndoe@gmail.com"

Я пробовал несколько предложений, таких как изменение почты добавить в:

msg.To.Add(new MailAddress(mailAddress.ToString())); 

но это не сработало.

public class Supervisor
{
   public string Email { get; set; }
}

public List<Supervisor> LoadSupervisors(int ID)
{
   var listOfEmails = new List<Supervisor>();
   using (SqlConnection conn = new SqlConnection(""))
   {
      SqlCommand cmd = new SqlCommand(@"", conn2);
      cmd.Parameters.AddWithValue("@ID", ID);
      conn.Open();
      SqlDataReader rdr = cmd.ExecuteReader();
      while (rdr.Read())
      {
         var supervisor = new Supervisor();
         supervisor.Email = rdr["Email"].ToString();
         listOfEmails.Add(supervisor);
      }
    }
    return listOfEmails;
}

protected void Page_Load(object sender, EventArgs e)
{
   //----- Bunch of code that isn't related
   while (rdr.Read())
   {
      var listOfEmails = new List<Supervisor>();
      listOfEmails = LoadSupervisors(Convert.ToInt32(rdr["UserID"]));

      MailMessage msg = new MailMessage();
      SmtpClient server = new SmtpClient("");
      foreach (var mailAddress in listOfEmails)
      {
          msg.To.Add(mailAddress.ToString());
      }
      //----- Bunch of code that isn't related
   }
}

1 ответ

Решение

Я думаю, вы должны получить .Email собственность вашего mailAddress вместо себя. Так как mailAddress это Supervisorне string или что-то.

Попробуй как;

msg.To.Add(mailAddress.Email.ToString());

Но, конечно, мы ничего не знаем о Email типа, я предполагаю, что он возвращает этот почтовый адрес в виде строки, так как вы сказали, что видите его в отладчике или что-то в этом роде.

Другие вопросы по тегам