マニュアルの変更
ロータス スクリプトクラス
ドミノ デザイナー
NotesMIMEEntity クラス -- 新規クラス

NotesMIMEEntity クラス
MIME (Multipurpose Internet Mail Extensions) は、8 ビットのデータ、キャラクタセット、および、リッチテキストを含むさまざまなコンテンツタイプを扱うメソッドを定義しています。また、MIME は、構造化されたメッセージ (相互に関連のある複数のパートで構成されるメッセージ) をサポートします。インターネットメールドキュメントのフォーマットおよび MIME の説明は、RFC ("Request for comments") ドキュメントの RFC_822 と RFC_1341に記載されています。このドキュメントは、http://www.cis.ohio-state.edu/htbin/rfc/ から入手できます。
MIMEEntity クラスは、MIME タイプのアイテムの読み込みと書き込むを行うために使用されます。NotesMIMEEntity は、NotesDocument の NotesItem クラスに含まれます。
典型的な例として、リッチテキストに変換されずにメールファイルに配信されるインターネットメールがあります。このような NotesItem は MIME_PART タイプで、通常は "Body" という名前が付けられます。これらの NotesItem は、RichTextItem (デフォルト) または MIME エンティティ (NotesSession.convertMIME が false にセットされているとき) として、プログラムからアクセスできます。
NotesDocument クラス内の MIME データを得るには、プログラムは新しいプロパティ notesSession.ConvertMIME = false を呼び出し、MIME_PART アイテムの通常の変換をリッチテキストにオーバーライドし、notesItem = NotesDocument.getFirstItem( name [typically "Body"] ) を呼び出します。そして、新しいメソッド notesItem.GetMIMEEntity を呼び出し、MIME エンティティのボディ部をナビゲートします。
NotesMIMEEntity クラスのプロパティとメソッドを以下に示します。
プロパティ
ContentAsText 読み込み専用。MIME エンティティのテキストコンテンツです。
構文: string = notesMIMEEntity.ContentAsText
ContentSubtype 読み込み専用。コンテンツタイプのサブタイプです。たとえば、RFC822 フィールド "Content Type" に "text/html" が含まれるとき、ContentSubType は "html" を返します。
構文: string = notesMIMEEntity.ContentSubType
ContentType 読み込み専用。コンテンツタイプ。たとえば、RFC822 フィールド "Content Type" に "image/gif" が含まれるとき、ContentType は "image" を返します。
構文: string = notesMIMEEntity.ContentType
Headers 読み込み専用。RFC822 ヘッダーフィールドを 1 つの文字列にしたものです。ヘッダーは、エスケープ文字の改行で区切られています。
構文: string = notesMIMEEntity.Headers
メソッド
GetFirstChildEntity アウター/ペアレントのマルチパート MIMEEntity に含まれる最初の MIMEEntity を返します。
構文: Set notesMIMEEntityfirstchild = notesMIMEEntity.GetFirstChildEntity()
GetNextSibling アウター/ペアレントのマルチパート MIMEEntity に含まれる次の MIMEEntity (カレントの MIMEEntity と同じレベル) を返します。
構文: Set notesMIMEEntitynextsibling = notesMIMEEntity.GetNextSibling()
GetParentEntity カレントの MIMEEntity を含むアウター/ペアレントの MIMEEntity を返します。
構文: Set notesMIMEEntityparent = notesMIMEEntity.GetParent()
NotesSession クラス
ConvertMIME property 読み込み、書き込み可能。文書から取得した MIME_PART タイプのアイテムがリッチテキストアイテムに変換できるかどうかを判断します。デフォルトは True です。
構文: flag = notesSession.ConvertMIME
notesSession.ConvertMIME = flag
NotesItem class
GetMIMEEntity method 読み込み専用。このアイテムが表す MIMEEntity を返します。通常は、インターネットメールとして送信された RFC822 およびそれ以降の MIME RFCXXX フォーマットの文書の "Body" アイテムです。
Syntax: notesMIMEEntity = notesItem.GetMIMEEntity
次の例は、MIME_PART アイテムを含む文書を順番に調べ、各アイテムに含まれる MIMEEntity を処理します。MIMEEntity がマルチパートの場合は、子エンティティを取得し、すべての MIMEEntity のヘッダーを表示します。
Sub NavEntities(mime As NotesMimeEntity, level As String)
Dim nextlevel As String
Dim part As Integer
part = 1
While Not(mime Is Nothing)
nextlevel = level & "." & part
Messagebox nextlevel & " " & mime.Headers
' マルチパートアイテムの場合は、最初の子エンティティから繰り返します。
If Strcompare(mime.ContentType, "multipart") = 0 Then
NavEntities mime.GetChildEntity, nextlevel
End If
part = part + 1
Set mime = mime.GetNextSibling
Wend
End Sub
Sub Initialize
Dim session As New notessession
Dim database As notesdatabase
Dim documentcollection As notesdocumentcollection
Dim document As notesdocument
Dim item As notesitem
Dim mimeentity As notesmimeentity
session.convertmime = False 'MIME からリッチテキストへの変換をオーバーライド
Set database = session.currentdatabase
Set documentcollection = database.alldocuments
Dim i As Integer
For i = 1 To documentcollection.count
Set document = documentcollection.getNthDocument( i )
Set item = document.getFirstItem( "Body" )
If item.type = MIME_PART Then
Set mimeentity = item.getMIMEEntity
Call navEntities( mimeentity, "1" )
Else
Msgbox "Not mime: " & item.values
End If
Next
Msgbox "Program done."
End Sub
-------------------------------------------------------------------------------------------------------------------------------------------
Web に接続している場合は 、 ここをクリックするとこの文書についてのコメントをロータスに送信できます。