次のエージェントは、現在の文書内の MIME エンティティを取得します。Sub Initialize
Dim s As New NotesSession
Dim db As NotesDatabase
Dim dc As NotesDocumentCollection
Dim doc As NotesDocument
Dim mime As NotesMIMEEntity
Dim m As String
Set db = s.CurrentDatabase
s.ConvertMIME = False ' Do not convert MIME to rich text
Set dc = db.UnprocessedDocuments
Set doc = dc.GetFirstDocument
While Not(doc Is Nothing)
Set mime = doc.GetMIMEEntity
If Not(mime Is Nothing) Then
m = "Content type:" & Chr(9) & _
mime.ContentType & Chr(13) & _
"Content subtype:" & Chr(9) & _
mime.ContentSubType & Chr(13) & _
"Character set:" & Chr(9) & _
mime.Charset & Chr(13) & _
"Encoding:" & Chr(9) & Chr(9) & _
mime.Encoding
Messagebox m,, doc.GetItemValue("Subject")(0)
Messagebox mime.Headers,, "Headers"
Messagebox mime.ContentAsText,, "Content as text"
Else
Messagebox "Not MIME",, doc.GetItemValue("Subject")(0)
End If
Set doc = dc.GetNextDocument(doc)
Wend
s.ConvertMIME = True ' Restore conversion
End Sub
MIME エンティティがマルチパートの場合、次のエージェントはその MIME エンティティを細分化します。Sub Initialize
Dim s As New NotesSession
Dim db As NotesDatabase
Dim dc As NotesDocumentCollection
Dim doc As NotesDocument
Dim mime As NotesMIMEEntity
Dim child As NotesMIMEEntity
Dim m As String
Set db = s.CurrentDatabase
s.ConvertMIME = False
Set dc = db.UnprocessedDocuments
Set doc = dc.GetFirstDocument
While Not(doc Is Nothing)
Set mime = doc.GetMIMEEntity
If Not(mime Is Nothing) Then
If mime.ContentType = "multipart" Then
If mime.Preamble = "" Then
p$ = "No preamble"
Else
p$ = mime.Preamble
End If
Messagebox p$,, doc.GetItemValue("Subject")(0)
Set child = mime.GetFirstChildEntity
While Not(child Is Nothing)
Messagebox child.ContentAsText,, _
doc.GetItemValue("Subject")(0)
Set child = child.GetNextSibling
Wend
Else ' if not multipart
Messagebox mime.ContentAsText,, _
doc.GetItemValue("Subject")(0)
End If
Else ' if not MIME
Messagebox "Not MIME",, _
doc.GetItemValue("Subject")(0)
End If
Set doc = dc.GetNextDocument(doc)
Wend
s.ConvertMIME = True ' Restore conversion
End Sub