2016-08-25 4 views
0

私はVBSを使用して電子メールをバルク送信する必要がありますが、いくつかの電子メールをテストすることはできません。したがって、動作速度の良い説明は得られません。VBSを使ったバルクメール

私は、さまざまなグループの人々の電子メールアドレスを含むいくつかのプレーンテキストファイルを持っています。

私は、送信するメカニズムとしてSet objMessage = CreateObject( "CDO.Message")を使用しています。

私のクエリが処理する最速こと、したがって、完了までに時間の最低額がかかります、次のどれです:

  1. は、すべての電子メールアドレスを一つずつ読んでに追加するループを実行します。 objMessage.Bcc変数を次のように使用します。 listLinesの各行について bccline = bccline + line + ";" 次へ objMessage.Bcc = bccline

  2. テキストファイルの最後まで1つのメールアドレスを読む、メールを送信するなどのループを行います。

私は両方の方法をコーディングしていますが、どちらも優れていますが、述べたように、最も速いものを実際に見つける方法はありません。

私はこれに関するフィードバック/提案を感謝します。

よろしくお願いいたします。

答えて

0

オプション#1は間違いなく高速です。 send emailコマンドを実行するたびに、プログラムは完全なデータを処理するメールサーバ/サービスに渡す必要があります。 sendコマンドを実行する時間が短いほど、プログラム全体が速く完了します。

+0

ありがとうございました。ちょうど私が探していたもの。素晴らしいありがとう。 –

0

オプション1は、MTAに1つのメッセージを送信し、残りの部分への配信を処理するため、高速配信の点で最適です。

別のオプション

は、たとえば、あなたがあなたが必要とするテキストファイルに基づいて、特定の個人または個人のグループのために特別に合わせたメッセージを必要に応じて、それらを送信するための最速の方法は、シェルを使用して複数のスレッドを生成することです次のスクリプトを開始するのを待つことなく実行する。引数または名前付き引数を使用して電子メールスクリプトを起動している。

名前付き引数は、次のとおりです。/to:[email protected]。それを使うことの難しい部分は、CMDが気になるキャラクターを避けることです。だから、CMDに文字を別々に解釈させる可能性のある文字をエスケープする関数を構築してください...私はすべて規模のため、これは私が使うかもしれないメソッドです。しかし、それが単なる一般的な放送であれば、BCCが最善の選択肢です。

+0

うわー、これをさらに進めていただきありがとうございます。私はそれを必要としませんが、あなたの答えと余分な情報を感謝します。ありがとう。 –

+0

さて、時には、データ損失防止製品でボリュームを投げて、微調整のためのパフォーマンス結果を収集する必要があります。複数のスレッドで確実に送信することは間違いありません。自分のシステムに小さなスレッシュホールドを設定するだけで、多くの火を鳴らしてクラッシュしないように覚えておく必要があります。 50〜100スレッドを消し、wscript.sleepを約2000〜3000msの間消すようにします。 –