DJXユーザ登録で登録Policy設定でMail File不要のユーザの登録がErrorする | Lotus Notes/Domino (R) をこよなく愛して。。。。

DJXユーザ登録で登録Policy設定でMail File不要のユーザの登録がErrorする

DJX管理ツールからユーザ登録する際、Policyでユーザ登録設定をOやOUで定義されている場合があるかと思いますが、このユーザ登録設定でメールDBが不要と設定されている場合に、ユーザ登録がErrorすることがあります。

 

エラーメッセージは以下のようになります。

 

処理結果 エラー
メッセージ メールテンプレート mailxx.ntf が、登録サーバー CN=<ServerName>/O=<Domain Name> にありません
ユーザーの登録は行われますが、メールファイルは作成されません
ユーザー ID ファイルは以下のファイル名で作成されました
xxxxxxxx.id

 

エラーに記述されている通り、Mail TemplateがServerに無い場合に発生するのですが、Version Upを行い、古いMail Templateは不要になり削除した場合に問題となります。

 

DJXのユーザ登録ロジックでは、以下のように、Mail DB不要のユーザでもTemplateの存在をチェックしているために発生します。

MailFileCreationが1で無い場合も、CreateMailDBのフラグを立てており、後のStepでMail Templateの存在チェックが行われ、エラーするのです。

 

        If doc.MailServer(0) <> "" And doc.MailFile(0) <> "" Then
            If PolicyDoc.MailFileCreation(0) ="1" Then
                reg.CreateMailDb = True
            Else
                reg.CreateMailDb = True
                reg.UseAdminProcess = True
            End If

・・・・・・

DO_CHECK_MAILTEMPLATE:
    ' Is the Template file Exist?
    On Error 4060 GoTo NO_ACCESSEXT2 ' No access privilege
    If reg.CreateMailDb = True Then
        Set mdb = thisSession.GetDatabase(doc.MailServer(0), reg.MailTemplateName)
        If mdb Is Nothing Then
            Call ErrorLogging(ERR_NO_MAILTEMPLATE, doc,  reg.MailTemplateName, doc.MailServer(0),"","")
            reg.CreateMailDb = False
            MAILFAIL = True
        Else
            If Not mdb.IsOpen Then
                Call ErrorLogging(ERR_NO_MAILTEMPLATE, doc,  reg.MailTemplateName, doc.MailServer(0),"","")
                reg.CreateMailDb = False
                MAILFAIL = True
            End If
        End If        
    End If

 

全くもって変な話ですが、これが現状のCodeです。

 

これが質が悪いのは、ユーザ登録Policy設定はかなり初期の段階で設定していると思いますが、設定文書で「他のインターネットメール」を指定していると、Mail Template指定するFieldすら表示されないことです。

このFieldはDefaultで設定され、ユーザ登録Policy設定を作成した時点のVersionに依存します。つまり、Version Up後も古いMail Templateが指定されたままとなっているのです。

 

つまり、サーバー移行とVersion Upを同時に行い、新サーバを新規に立てて、Mail DBなどのデータのみ移行した際にこの問題は発覚します。

こういう意味で、ユーザがなかなか気が付かず、質が悪いErrorということです。

 

回避策は、ユーザ登録Policy設定文書を編集し、一度メールシステムをメールファイルが必要なシステム(NotesやiNotes)に設定し、Mail Template名を最新のMail Templateに更新してから、再度、メールシステムを「他のインターネット」に戻すことです。

 

皆さんも、サーバ移行を伴うVersion Upの際にはご注意ください。

サーバ移行を伴わず、既存環境への上書きVersion Upを行う際には明示的にTemplateを整理しない限り問題はありません。