Exchange 2010で大きな電子メールをスケジュール/キューに入れ、遅延が減少するまで延期します
私の挑戦 さまざまなサイトにExchangeサーバーがありますが、船内にもあります。船は、海上では衛星リンクを介してネットワークに接続されますが、港ではWiFiブリッジに切り替えます。 待ち時間が長く(500ミリ秒以上)、珍しいドロップアウトがないため(例:船が回転しているとき)、海上で数メガバイトを超える電子メールを送信しようとすると、失敗し、制限まで再試行される可能性がありますに達した。結果:電子メールは配信されず、各試行はsatリンクの貴重な帯域幅を消費します。 1つの「解決策」は、電子メールの最大サイズを5 MBに制限することですが、それはユーザーフレンドリーではなく、ポート内での不必要な制限です。 大まかなアイデア 私がしたいのは、設定された制限を超えるすべての電子メールをキューに入れて、後で海にいるときに配信し、すべての小さな電子メールをすぐに送信することです。その後、データセンターのハブトランスポートサーバーに定期的にpingを実行し、待ち時間が400ミリ秒未満になると、大きな電子メールキューの処理を開始すると考えていました。遅延が400ミリ秒を超えると、この穴をふさいで、電子メールを再びキューに入れます。 今、バージョン2003以降、Exchangeに手を汚していません。当時は、後で配信するために大きな電子メールをスケジュールできました。そのため、私の考えはExchange 2010で同様のことを行い、配信を切り替える方法をスクリプト化することでした'always'と 'never'の間の大きな電子メールのスケジュール。 障害 そのようなスクリプトを作成するのはそれほど複雑ではないはずですが、次に頼っていた機能がExchange 2007で削除されたことを読みました。 これはExchange 2003に存在する機能でしたが、Exchange 2007では削除されました。「特大のメッセージに異なる配信時間を使用する」SMTPコネクタで設定されました。 TechCenter:Exchangeのサイズに基づいてメール配信をスケジュールすることはできますか? ご質問 本当ですか?-この機能はExchange 2010に存在しなくなりましたか、それとも同様の機能に変換されただけで、目標を達成するために使用できますか?もしそうなら、何? 特定のExchangeサーバーで大きな電子メールの配信を延期する別の方法はありますか?スケジュールに基づいている場合もあれば、特定のアクションを必要とする場合もあります。スクリプトを介して配信をトリガーする方法があることはかなり確信しています。 これについてのあなたの考えは高く評価されます!:-) 編集#1:洗練された大まかなアイデア 私は2つのPowerShell CmdLetsを手に入れたので、目標にかなり近づけることができました。 Suspend-Message Resume-Message 上記のコマンドがどのようなメッセージを処理するかを確認するために、しばらくGet-Messageをいじりました。 最も重要なのは、これらのコマンドがメッセージサイズフィルターを受け入れることです。このコマンドは、現在のサーバーで、5 MB(5,242,880バイト)を超えるキューに入れられたメッセージをリストします。 get-message -Filter {Size -gt 5242880} Get-Messageさまざまなリモート配信キューからのメッセージのみを返すようです。しかし、サーバー内を流れるメッセージは、たとえ短時間であっても、Get / Suspend / Resume-Messageが混乱するキューに表示されますか? そうでない場合、ソリューションは、次の行に沿って、数分ごとにスケジュールされたスクリプトのように単純になる可能性があります(擬似コードで): if ping_rtt > 400 Then Suspend-Message -Filter {Size -gt …