- - PR -
System.Net.Mailは10件まで
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-04-26 17:35
こんにちは。
皆さんのおかげで、VB2005からSystem.Net.Mailを使って メールを送るテスト段階まできました。 ところがあるフォルダ内の全てのファイルを1件ずつ送信するのですが 10を超えると初回例外が発生しましたのエラーになってしまいます。 上限値とか決まっているのでしょうか? また、対応方法を教えて頂けないでしょうか? 宜しくお願いします。 | ||||
|
投稿日時: 2007-04-26 18:14
すいません、SendAsyncにしてみましたら
送信できました。 Dim usertoken As Object Sc.SendAsync(msg, usertoken) SendAsyncとSendの違い(使い分け方)、Sendでは10件までしか送信できない理由 を合わせて教えて頂けませんか? すいません、宜しくお願いします。 | ||||
|
投稿日時: 2007-04-27 10:16
SmtpClientクラスに違いは記載されてます。
電子メール メッセージを送信し、SMTP サーバーへの送信の待機中に処理をブロックするには、いずれかの同期 Send メソッドを使用します。 プログラムのメイン スレッドが、電子メールの送信中も実行を継続できるようにするには、いずれかの非同期 SendAsync メソッドを使用します。 SendAsync 操作が完了すると、SendCompleted イベントが発生します。 このイベントを受信するには、SendCompletedEventHandler デリゲートを SendCompleted に追加する必要があります。 SendCompletedEventHandler デリゲートは、SendCompleted イベントの通知を処理するコールバック メソッドを参照する必要があります。 電子メールの非同期的な伝送をキャンセルするには、SendAsyncCancel メソッドを使用します。 10件云々は SmtpClient.Send メソッド (MailMessage) の このメソッドは、電子メールの送信中はブロックします。Timeout プロパティを使用してタイムアウト値を指定すると、指定した時間の経過後にメソッドから制御を戻すことができます。 非同期的に送信中のメッセージが存在する場合、このメソッドは呼び出すことができません。 ってのが関係するのでわ? リファレンスは読んでます? | ||||
|
投稿日時: 2007-04-27 10:22
私は詳しく分かりませんが、いくつかキーワードが出ているようですので検索してみました。 「system.net.mail SendAsync Send」で検索して見つけたページ http://www.microsoft.com/japan/msdn/netframework/skillup/core/article12.aspx 質問する前に検索する癖をつけたほうがよいかと思います。 #未記入さんの方が詳しいのであまり参考にならないかもですが | ||||
|
投稿日時: 2007-04-27 16:32
resありがとうございます。
マイクロソフトや他サイトのメール関連は検索し、見てみましたが 複数多数のメール送信の場合は、どちらを使うと 明確に明記してあったものがなく 未記入さんんの 「このメソッドは、電子メールの送信中はブロックします。Timeout プロパティを使用してタイムアウト値を指定すると、指定した時間の経過後にメソッドから制御を戻すことができます。 非同期的に送信中のメッセージが存在する場合、このメソッドは呼び出すことができません。 ってのが関係するのでわ? 」 というのがよく解らないままでした。 詳しい説明ありがとうございました。 |
1