我正在設置Lotus Notes帳戶以接受來自客戶端的電子郵件,並自動將每封電子郵件另存爲純文本文件以供其他應用程序處理。Lotus Notes - 將電子郵件導出爲純文本文件
因此,我試圖在Lotus中創建我的第一個Agent,以自動將電子郵件導出爲文本。
有沒有一個標準的,最佳實踐的方式來做到這一點?
我創建了一個幾乎可以工作的LotusScript代理。但是,有一個錯誤 - 一旦備忘錄正文超過32K字符,就會開始插入額外的CR/LF對。
我正在使用Lotus Notes 7.0.3。
這裏是我的腳本:
Sub Initialize
On Error Goto ErrorCleanup
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim uniqueID As Variant
Dim curView As NotesView
Dim docCount As Integer
Dim notesInputFolder As String
Dim notesValidOutputFolder As String
Dim notesErrorOutputFolder As String
Dim outputFolder As String
Dim fileNum As Integer
Dim bodyRichText As NotesRichTextItem
Dim bodyUnformattedText As String
Dim subjectText As NotesItem
'''''''''''''''''''''''''''''''''''''''''''''''''''''''
'INPUT OUTPUT LOCATIONS
outputFolder = "\\PASCRIA\CignaDFS\CUser1\Home\mikebec\MyDocuments\"
notesInputFolder = "IBEmails"
notesValidOutputFolder = "IBEmailsDone"
notesErrorOutputFolder="IBEmailsError"
'''''''''''''''''''''''''''''''''''''''''''''''''''''''
Set db = session.CurrentDatabase
Set curview = db.GetView(notesInputFolder)
docCount = curview.EntryCount
Print "NUMBER OF DOCS " & docCount
fileNum = 1
While (docCount > 0)
'set current doc to
Set doc = curview.GetNthDocument(docCount)
Set bodyRichText = doc.GetFirstItem("Body")
bodyUnformattedText = bodyRichText.GetUnformattedText()
Set subjectText = doc.GetFirstItem("Subject")
If subjectText.Text = "LotusAgentTest" Then
uniqueID = Evaluate("@Unique")
Open "\\PASCRIA\CignaDFS\CUser1\Home\mikebec\MyDocuments\email_" & uniqueID(0) & ".txt" For Output As fileNum
Print #fileNum, "Subject:" & subjectText.Text
Print #fileNum, "Date:" & Now
Print #fileNum, bodyUnformattedText
Close fileNum
fileNum = fileNum + 1
Call doc.PutInFolder(notesValidOutputFolder)
Call doc.RemoveFromFolder(notesInputFolder)
End If
doccount = doccount-1
Wend
Exit Sub
ErrorCleanup:
Call sendErrorEmail(db,doc.GetItemValue("From")(0))
Call doc.PutInFolder(notesErrorOutputFolder)
Call doc.RemoveFromFolder(notesInputFolder)
End Sub
更新 顯然,32KB的問題是不相符的 - 迄今爲止,它只是一個文件,啓動後的32K獲得額外的回車。
謝謝你。順便說一下,你有沒有遇到過一個在線示例腳本來保存電子郵件到文本文件?我發現的所有示例都涉及將附件保存到文件,而不是電子郵件的正文。 – mbeckish 2010-02-18 20:19:16
我沒有,但我只是做了一個快速搜索,發現了幾個例子。一個看起來像使用Notes的DXL功能:http://tech.niques.info/projects/lotus-notes-email-export/另一個是用Perl編寫的,但可能有一些邏輯可以提取http:// www.perlmonks.org/?node_id=136382 – 2010-02-19 14:34:06