2009-02-25 52 views

回答

2

很簡單。

您需要做的是在郵件數據庫中創建一個處理傳入郵件的代理(這將需要Domino Designer和郵件數據庫中的相應權限)。

根據您的要求,您可以定期(例如每小時一次)或特定事件(例如,新郵件到達時)觸發座席。

我曾經寫過的所有代理都在LotusScript(VBA)中,他們可以掃描數據庫中的文檔,檢查狀態,標題等,以決定要做什麼。

我爲這裏的某個人寫了一封最近的一封。被調用時,它基本上通過InBox檢查包含「qwertyuiop」的主題標題的每個文檔,並創建一個響應電子郵件給發件人,其中包含追加了「SUCCESS」的相同主題的發件人。

然後它將文檔從InBox移動到垃圾文件夾。這個特定的代理每60分鐘運行一次,因爲不需要立即響應。你應該能夠從代碼中獲取意圖。

Sub Initialize 
    Dim s As New notessession 
    Dim db As notesdatabase 
    Dim view As NotesView 
    Dim doc As NotesDocument 
    Dim olddoc As NotesDocument 
    Dim subj As String 
    Dim newdoc As NotesDocument 

    Set db = s.CurrentDatabase 
    Set view = db.GetView("($InBox)") 
    If Not view Is Nothing Then 
     Set doc = view.GetFirstDocument 
     While Not doc Is Nothing 
      Set olddoc = doc 
      Set doc = view.GetNextDocument(doc) 
      subj = olddoc.GetFirstItem("subject").Text 
      If Instr(subj, "qwertyuiop") > 0 Then 
       Set newdoc = New NotesDocument(db) 
       newdoc.SendTo = olddoc.GetFirstItem("inetfrom").Text 
       newdoc.subject = subj & " SUCCESS" 
       newdoc.form = "Memo" 
       Call newdoc.send(True,True) 
       Call olddoc.RemoveFromFolder("($InBox)") 
       Call olddoc.PutInFolder("junk") 
      End If 
     Wend 
    End If 
End Sub 

您可能需要的是對其進行輕微修改,這將打開一個不同的數據庫並根據郵件文檔更改其中的文檔。

您真正需要的只是電子郵件中的一個關鍵字,它可以識別輔助數據庫中哪些文檔應該更改,以及一些可以應用基於郵件內容的更改的邏輯。

這是留給讀者的練習。我給你的東西應該足以開始了(當你玩這個遊戲的時候再問一個問題)。

1

很簡單。在Notes中,您可以將任何數據庫設置爲電子郵件的目標。它獲得自己的電子郵件ID(例如[email protected])。然後,您編寫一個運行於「新電子郵件到達時」的代理。新文檔位於session.currentdatabase.unprocesseddocuments集合中。當然,您的電子郵件中必須包含一些內容,以便您確定要更新的文檔。 Notes在內部使用NotesDocumentUniqueID作爲主鍵,但我想你寧願選擇一個業務領域。使用NotesMimeEntry,您可以通過電子郵件發送表單等方式訪問電子郵件中的HTML格式的內容。

相關問題