作成者カテゴリ 
公開
素人
04/21/2003 11:39 AM
エージェント
ノーツサーバノーツクライアントサーバOSクライアントOSネットワークプロトコル
5.x4.6xWindows 2000 ServerWindows 98TCP/IP

メール転送エージェント(ロータススクリプト)について

メール転送エージャントをロータススクリプトで以下のように作成したのですが、一部のユーザーのところでエージェントは自動実行されているのですが、サーバーのログに以下のようなメッセージが出てメールが転送できない現象があります。
なぜだかおわかりになる方に教えていただきたいと思います。

<エラー内容>
・O001 オブジェクト変数が設定されていません。
・I014 インスタンスのメンバーは存在しません。

<スクリプト>
Sub Initialize
'*****************************************************
'* メール転送エージェント
'*****************************************************
Dim Session As New NotesSession
Dim db As NotesDatabase
Dim coll,coll_1,coll_2,coll_3 As NotesDocumentCollection
Dim doc,doc2,wdoc As NotesDocument
Dim rtitem As Variant
Dim flg1,flg2,flg3 As Variant
Dim Cnt As Long
Dim SearchKey As String
Set db = Session.CurrentDatabase
Set coll = db.UnprocessedDocuments
For i = 1 To coll.Count
Set doc = coll.GetNthDocument( i )
'********************************************
'* 送信文書のフォーム名でメール転送処理の制御
'* (flgが0の場合に処理をする)
'********************************************
Select Case doc.form(0)
Case "NonDelivery Report"
flg1="1"
Case "Delivery Report"
flg1="1"
Case "Trace Report"
flg1="1"
Case "OutOfOfficeProfile"
flg1="1"
Case Else
flg1="0"
End Select
'************************************************
'* 除外メールアドレスの処理
'************************************************
flg2 = "0"
SearchKey = "Form = ""FMailFWD_Reject"""
Set coll_2 = db.Search( SearchKey, Nothing, 0 )
If coll_2.Count > 0 Then
For Cnt = 1 To coll_2.Count
Set wdoc = coll_2.GetNthDocument( Cnt )
If doc.from(0) = wdoc.MailFWD_Reject(0) Then
flg2 = "1"
End If
Next
End If
'************************************************
'* Eメール転送処理の制御
'************************************************
flg3 = "0"
SearchKey = "Form = ""FMailFWD_EMail"""
Set coll_3 = db.Search( SearchKey, Nothing, 0 )
If coll_3.Count > 0 Then
For Cnt = 1 To 1
Set wdoc = coll_3.GetNthDocument( Cnt )
If wdoc.MailFWD_EMail(0) <> "0" Then
If doc.RouteServers(0) = "MTAサーバー名" Then
flg3 = "1"
End If
End If
Next
End If
'************************************************* '* メール転送処理
'*************************************************
Set doc2 = db.CreateDocument
If flg1="0" And flg2="0" And flg3="0" Then
doc2.Subject = "転送:" & doc.Subject(0)
Set rtitem = doc.GetFirstItem( "Body" )
doc2.Body="送信元:" & doc.From(0) & Chr$(13)+Chr$(10) & Chr$(13)+Chr$(10) & rtitem.GetFormattedText( False, 0 )
SearchKey = "Form = ""FMailFWD_To"""
Set coll_1 = db.Search( SearchKey, Nothing, 0 )
If coll_1.Count > 0 Then
For Cnt = 1 To coll_1.Count
Set wdoc = coll_1.GetNthDocument( Cnt )
Call doc2.Send( False,wdoc.MailFWD_To(0))
Next
End If
End If
Call Session.UpdateProcessedDoc( doc )
Next
End Sub


[Previous Main Document]
メール転送エージェント(ロータススクリプト)について (素人) * 現在地 *
. . Re: メール転送エージェント(ロータススクリプト)について (1122)
. . . . エージャントのエラー箇所について (素人)
. . . . . . Re: メール転送エージェント(ロータススクリプト)について (1122)
. . . . . . . . Re:メール転送エージェント(ロータススクリプト)について (素人)
. . . . . . . . . . Re: メール転送エージェント(ロータススクリプト)について (1122)
. . . . . . . . . . . . ありがとうございました。 (素人)
[Next Main Document]