Lotus Notes 계정을 설정하여 클라이언트의 전자 메일을 수락하고 각 전자 메일을 다른 응용 프로그램에서 처리 할 일반 텍스트 파일로 자동 저장합니다.Lotus Notes - 전자 메일을 일반 텍스트 파일로 내보내기
그래서 이메일에 텍스트를 자동으로 내보내려면 Lotus에서 가장 먼저 에이전트를 만들려고합니다.
이 작업을 수행하는 데있어 최상의 표준 방법이 있습니까?
나는 거의 작동하는 LotusScript Agent를 만들었습니다. 그러나 버그가 있습니다. 메모의 본문이 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
업데이트 분명히 32킬로바이트 문제가 일치하지 않습니다 - 지금까지, 그것은 32K 후 여분의 캐리지 리턴을 얻기 시작 한 문서입니다 :
여기 내 스크립트입니다.
감사합니다. Ken. 그런데 전자 메일을 텍스트 파일에 저장하기 위해 온라인에서 샘플 스크립트를 접하게 된 적이 있습니까? 필자가 발견 한 모든 예는 첨부 파일을 파일에 저장하는 것이지만 전자 메일의 본문은 저장하지 않습니다. – mbeckish
나는 가지고 있지 않았지만 방금 빠른 검색을 수행하고 몇 가지 예를 발견했습니다. 하나는 Notes의 DXL 기능을 사용하는 것처럼 보입니다. http://tech.niques.info/projects/lotus-notes-email-export/ 다른 하나는 Perl로 작성되었지만 http : //를 추출 할 수있는 논리가있을 수 있습니다. www.perlmonks.org/?node_id=136382 –