DBIの使用

隔離メッセージはファイルシステム内だけでなく、DBIストレージに保存することも出来ます。この機能を使用するにはPerlバージョン5.0以降、インストールされたDBIとFile::Tempモジュール、設定済みのDBIストレージが必要です(データベースと動作するためのDBIモジュールの設定と調整についての詳細はDBIに関するドキュメントをご覧ください)。メッセージをデータベースに送るには、データベースがSQL-ASCII文字コードセットで作成されている必要があります。

DBIとのインタラクションはdrweb-qpユーティリティ経由でのみ可能で、そこへのパスはPathToDrwebQpパラメータで指定されます。

DBIを使用するには以下のことを実行してください。

MoveToDBIパラメータの値にYesを設定し、それに合わせてDBISettingsDBIUsernameDBIPasswordパラメータを調整してDBIストレージへのアクセスを有効にしてください。この3つのパラメータはDBI->connectに属するものです。シンタックスについての詳細は、全てのDBIモジュールに関するドキュメントに記載されています(man DBD::mysql man DBD::Pgなど)。
以下のSQLコマンドを設定してください。
oSQLInsertCommand - メールメッセージをDBIストレージに加えます。
oSQLRemoveCommand - メールメッセージをDBIストレージから削除します。隔離内のメッセージに対して保存期限が設定されている場合に使用します。
oSQLSelectCommand - DBIストレージに保存されているメッセージへのアクセスを可能にします。隔離内のメッセージが検索される(例:制御メッセージ経由)際に使用します。

起こりうるエラー:

以下のようなエラーが発生した場合、

maild ERROR Error in system call for [/opt/drweb/drweb-qp --Level debug --SyslogFacility Daemon --BaseDir /var/drweb/ --ProcessMail 1 --MoveToDBI 0 --StoredTime 86400 --SQLInsertCommand "" --MDClient "def" >/dev/null 2>&1 &]

drweb-maild処理に使用出来るメモリの上限の増加を試行してください(例:ulimit -mコマンドなど)。