2017-04-17 10 views
1

私はC#でエクセルから読み込んだ簡単なコンソールファイルを作成しました。 Excelスプレッドシートには電子メールアドレスのリストが含まれています。このリストをループして、lisの各電子メールに電子メールを送信しています。私のC#アプリケーションでメール本文を2回送信

アプリを実行すると、Excelシートの最初のメールアドレスにメールが送信されますが、2番目のメールアドレスに送信されると、メールの本文が2回送信されます最初のメール。誰かが私のループで間違っていることを以下に示してください:

foreach (var email in File) 
    { 

      mailbody.AppendFormat("<p style='font-family: Arial, Sans-Serif;'> Hi</p>"); 
      mailbody.AppendFormat("<p style='font-family: Arial, Sans-Serif;'> Hey!</p>"); 
      Mailer.SendEmailMessage("[email protected]", email.email, "", "Test Header", "", mailbody); 





    } 
    Console.WriteLine("Finished Sending"); 


} 
+2

あなたは、foreachループの外で宣言された変数を使用し、今までそれをリセットせずにそれに追加されている...あなたから身体をしたくない場合は、私はちょうどforeachループ –

+0

にその変数を移動します最初のループを通して、あなたはmailbody変数をリセットする必要があります。おそらくあなたのループの中で、他に何かをする前に。 –

+0

'Mailer.SendEmailMessage()'とは何ですか?それがあなたのコードなら、それも表示するのに役立つかもしれません。しかし、他の誰もが問題を解決すべきだと言っている。 –

答えて

2

各アドレスで新しいメール本文を作成します。

foreach (var email in File) 
{ 
    var mailbody = string.Empty; 

    ... 
} 
関連する問題