3

SQL Server dbmail から .eml ファイルを生成することは可能ですか? SQL Server 2008 R2 を実行しています。

配信のために SMTP サーバーに配信される前に電子メールがステージングされる「電子メール サンドボックス」を作成する必要があります。これにより、生成されたアプリケーション (および願わくは dbmail) の電子メールが最終配信前に表示および承認されるようになります。オブジェクトの 'pickupDirectoryLocation' プロパティを指定することで、.NET でこれを実現できSmtpClientます。

質問: SQL Server で生成された電子メールでもこれを行う方法はありますか?

ありがとう

4

1 に答える 1

1

いい質問です!それについて考えたことはありません。

send_dbmail プロシージャを呼び出しても、実際には電子メールを送信していません。電子メールを送信するデータベース メール プロセス (DatabaseMail.exe) によって読み取られるキューにレコードを挿入するだけです。

あなたが望むものが達成できるかどうかはわかりませんが、私はいくつかのことを考えることができます:

  1. sysmail_configure_sp をパラメーター AccountRetryDelay または DatabaseMailExeMinimumLifeTime と共に使用して (わからない、自分で試したことがない)、プロセスの実行時間を遅らせて、マネージャーが電子メールを承認する (または特定の時間にジョブを有効化/無効化する) 時間を確保できるようにすることができます。この間、メッセージを保持するテーブルにアクセスして編集できます。しかし、それはあなたの問題を完全に解決するものではなく、むしろ醜い解決策です. 詳細はこちら

  2. そこにメッセージを挿入する中間テーブルを作成し、承認後に send_dbmail プロシージャを呼び出します

于 2012-04-11T12:36:19.530 に答える