2016-12-11 35 views
-3

C#の複数の受信者に電子メールを送信します。これは私のコードですが、このコードは1つのアドレスにメールを送信するだけです。どのように修正する必要がありますか?複数の受信者に電子メールを送信する

private void button1_Click(object sender, EventArgs e) 
{ 
     if (textBox1.Text == "" || richTextBox1.Text == "") 
     { 
      MessageBox.Show("Please fill out the boxes!"); 
      return; 
     } 

     try 
     { 
      MailMessage message = new MailMessage(); 
      SmtpClient smtp = new SmtpClient(); 

      message.From = new MailAddress("[email protected]"); 
      message.To.Add(new MailAddress(Form1.cimzett)); 
      message.Subject = textBox1.Text; 
      message.Body = richTextBox1.Text + Environment.NewLine + "This message was sent from " + (Login.loginnev); 

      smtp.Port = 587; 
      smtp.Host = "smtp.gmail.com"; 
      smtp.EnableSsl = true; 
      smtp.UseDefaultCredentials = false; 
      smtp.Credentials = new NetworkCredential("[email protected]", "PASSWORD"); 
      smtp.DeliveryMethod = SmtpDeliveryMethod.Network; 
      smtp.Send(message); 
      MessageBox.Show("The mail was sent successfully!"); 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show("Error " + ex.Message); 
     } 
} 

ありがとうございました!

+2

どこかからコピーして貼り付けましたか?一度に複数の受信者に送信する方法は、コード内で非常に明確です。あなたのパスワードをお寄せいただきありがとうございます –

答えて

1
private void button1_Click(object sender, EventArgs e) 
{ 
     if (textBox1.Text == "" || richTextBox1.Text == "") 
     { 
      MessageBox.Show("Please fill out the boxes!"); 
      return; 
     } 

     try 
     { 
      MailMessage message = new MailMessage(); 
      SmtpClient smtp = new SmtpClient(); 

      message.From = new MailAddress("[email protected]"); 
      message.To.Add(new MailAddress(Form1.cimzett)); <---- THIS LINE 
      message.To.Add(new MailAddress("[email protected]")); 
      message.To.Add(new MailAddress("[email protected]")); 
      message.To.Add(new MailAddress("[email protected]")); 
      message.Subject = textBox1.Text; 
      message.Body = richTextBox1.Text + Environment.NewLine + "This message was sent from " + (Login.loginnev); 

      smtp.Port = 587; 
      smtp.Host = "smtp.gmail.com"; 
      smtp.EnableSsl = true; 
      smtp.UseDefaultCredentials = false; 
      smtp.Credentials = new NetworkCredential("[email protected]", "PASSWORD"); 
      smtp.DeliveryMethod = SmtpDeliveryMethod.Network; 
      smtp.Send(message); 
      MessageBox.Show("The mail was sent successfully!"); 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show("Error " + ex.Message); 
     } 
} 
1
String[] emails={"[email protected]","[email protected]","[email protected]","[email protected]"}; 
foreach(var items as emails) 
{ 

    MailMessage message = new MailMessage(); 
      SmtpClient smtp = new SmtpClient(); 

      message.From = new MailAddress(items); 
      message.To.Add(new MailAddress(Form1.cimzett)); 
      message.Subject = textBox1.Text; 
      message.Body = richTextBox1.Text + Environment.NewLine + "This message was sent from " + (Login.loginnev); 

      smtp.Port = 587; 
      smtp.Host = "smtp.gmail.com"; 
      smtp.EnableSsl = true; 
      smtp.UseDefaultCredentials = false; 
      smtp.Credentials = new NetworkCredential("[email protected]", "adminisztrator0"); 
      smtp.DeliveryMethod = SmtpDeliveryMethod.Network; 
      smtp.Send(message); 
      MessageBox.Show("The mail was sent successfully!"); 
} 
+0

これは完全に間違っている複数の電子メールを作成します –

+0

こんにちはDasturchiUZ、あなたの答えは複数の電子メールを受信し、それらを処理するように見えます。しかし、私は、質問者は何らかの理由で複数の電子メールを「投稿」処理したいと思っています。問題は曖昧に言われていますが、あなたの責任はありません。良い一日を。 –

0

しかし、これは仮定がある、しかし、あなたが電子メールを供給するrichTextBox1.Textに頼っているように見える主な問題に対処するために、あなたのコードを持ついくつかの問題があります

だからここであなたがやっています: message.To.Add(new MailAddress(Form1.cimzett));、おそらく変更Form1.cimzettrichTextBox1.Text

さらに、SmtpClientコードのすべてをButtonロジックの外に宣言し、代わりにこのクラスで宣言することができます。

関連する問題