2011-11-10 13 views
0

ASP.NETでは、私はMailMessageを送信していますが、通過しません。私が使用しているコードはMailMessageは2人以上の受信者に送信しませんか?

message.To.Add(email1 + ", " + email2 + ", " + email3); 

です。これを行うと決してメールが届きません。しかし、私はこのコードを使用する場合:

message.To.Add(email1 + ", " + email2); 

それは毎回うまく送信します。誰がここで何が起こっているのか知っていますか? 3つの電子メールはすべて(テスト目的で)同じで、デバッグ中に正しいことが確認されています。私は第3のために別の電子メールアドレスを挿入しようとしましたが、何も通過しませんでした。私は明らかな何かを見逃しているかもしれません...

編集: 誰もが個別に追加するように指示しています。理由は私が以前にこれをやっていないと私はちょうど別々のアドレスのいずれかを送信されたと3とそれを再試行した。おそらく私はそれが動作するはずです場合は別の問題が完全にありますか?

編集:今後同じ問題を抱える人は、ここで私がしたことがあります。 MailMessageを作成するときに、私はどのパラメータでも作成せず、代わりにFromパラメータを別々に指定しました。私はFromとAll Toのメールをnew MailAddress()にラップし、これらすべての変更の組み合わせが動作するように見えました。

答えて

2

MailMessageのToプロパティはコレクションなので、3つのメールアドレスに送信する場合は、 message.To.Addを3回呼び出す必要があります。あなたがコレクションに追加しているので

message.To.Add(email1); 
message.To.Add(email2); 
message.To.Add(email3); 

+0

I複数回追加を呼び出すのではなく、コンマで区切られたリストを使用するはずだった1つ以上のアドレスを追加していた場合、印象を受けましたか? – novacara

+0

.NET 1.1以前でMailMessageのバージョンを使用していた場合、これが原因である可能性があります。 .NET 2.0以降、Toフィールドはコレクションです。 – DaveRead

+0

私は3.5を使っているのを見る...ありがとう、ありがとう。私はそれらを追加する適切な方法は私のために全く働かないので、私はいくつかの他の問題があると思う。 – novacara

4

Addを複数回呼び出してください。

2

の代わりにメールをcontencatingは、あなたがそれらを一つずつ追加する必要があり、単一の追加ステートメントに対処しました。

また、アドレスが同じ場合、通常、この機能は私の経験で2回追加しません。これは、Mailmessage.To.Add関数の動作かもしれません、またはそれは私にOutlookが重複を取り除いたが、それがは、それが重複をフィルタリングするようにのように見えるかもしれないことができます。あなたはあなたのシステムで同じものを見ているかもしれません。

2

これは私はweb.configファイル内のメッセージの受信者を格納し、この

string lstrDistributitionList = ConfigurationSettings.AppSettings["SMTP_DISTRIBUTION_LIST"]; 
        string[] lastrDistributitionList = lstrDistributitionList.Split(';'); 

        for (Int32 loopCounter = 0; loopCounter < lastrDistributitionList.Length; loopCounter++) 
        { 
         msg.To.Add(lastrDistributitionList[loopCounter]); 
        } 

ハーヴェイSatherのようにそれを扱う

ハーヴェイSatherの

0

を助け

message.to.add(email1); 
message.to.add(email2); 
message.to.add(email3); 
message.to.add(email4); 

希望をお試しください

関連する問題