title: when i run the code and send it it shows sending failed
body: <p>hi guys am having problem sending bulk mails using listbox in windows forms....it shows sending failed when i try to send the bulk mails..here is my code i do not know what is wrong with the code i have checked and checked i do not know what is wrong</p>
  
  <pre><code> void SendMail1(string from,string to,string subject,string message,string host,int port,string un,string pw)
      {
          MailMessage tm = new MailMessage();
          tm.From = new MailAddress(from);
          tm.To.Add(new MailAddress(to));
          tm.Subject = subject;
          tm.Body = message;
          tm.IsBodyHtml = true;
          tm.Priority = MailPriority.Normal;
          tm.SubjectEncoding = Encoding.UTF8;
          var smtp = new SmtpClient();
          {
              smtp.Host = host;
              smtp.Port = port;
              smtp.EnableSsl = true;
              smtp.UseDefaultCredentials = true;
              smtp.DeliveryMethod = SmtpDeliveryMethod.Network;               
              //default credentials
              smtp.Credentials  = new NetworkCredential(un,pw);
          }
          smtp.Send(tm);
          MetroFramework.MetroMessageBox.Show(this, "Bulk Mail Successfully Sent.....", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
      }
  
  
      private void btnSendEmail2_Click(object sender, EventArgs e)
      {
          try
          {
              if (string.IsNullOrEmpty(txtSubject2.Text) || string.IsNullOrEmpty(txtMessage2.Text) || string.IsNullOrEmpty(txtFrom2.Text) || string.IsNullOrEmpty(txtEmailAddress2.Text) || string.IsNullOrEmpty(txtPassword2.Text) || string.IsNullOrEmpty(txtAttachment2.Text))
              {
                  MetroFramework.MetroMessageBox.Show(this, "One Or More Fields Empty..Please Check To See Which Fields Are Empty,Before Sending Mails...", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
              }
              else
              {
                  //send mails here
                  foreach(string i in lstEmails.Items)
                  {
                      if (i.Trim() != string.Empty)
                      {
                          //declare all fields
                          DataTable dt = new DataTable("tblEmails");
                          dt.Columns.Add("Email", typeof(string));
                          dt.Rows.Add(i.ToString());
                          string _from = txtFrom2.Text.Trim();
                          string _subject = txtSubject2.Text.Trim();
                          string _message = txtMessage2.Text.Trim();
                          string _host = Convert.ToString(ddlProvider2.SelectedItem);
                          int _port = 587;
                          string _un = txtEmailAddress2.Text.Trim();
                          string _pw = txtPassword2.Text.Trim();
                          Parallel.ForEach(dt.AsEnumerable(), x =&gt;
                          {
                              SendMail1(_from, x["Email"].ToString(), _subject,_message
                                  , _host, _port, _un, _pw);
                          });
  
                          // MetroFramework.MetroMessageBox.Show(this, i + "\n", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
                      }
                      else
                      {
                          MetroFramework.MetroMessageBox.Show(this, "Please Load Some Emails To Send Mail Message...", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                      }
                  }
              }
          }
          catch (Exception ex)
          {
              MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK);
          } 
      }
  </code></pre>