Tivoli Service Desk 6.0 Developer's Toolkit Script 言語解説書
メイン・ページに戻る
住所録内の全エントリーのリストを戻します。
FUNCTION MAILAddressBookEntries(VAL session: MAIL Session, VAL addrBookName: STRING, REF addrBookEntries: LIST of MAILABEntry): INTEGER;
引き数名 | 説明 |
session | メール・セッション ID。 |
addrBookName | オープンする住所録の名前。次の記号名は標準住所録をオープンするためのショートカットとして使用可能です。
|
addrBookEntries | 指定の住所録のエントリーが記述されている MailABEntry レコードのリスト。 |
この関数をサポートするのは VIM だけです。
VARIABLES session: MAILSession; AddressBookName: String; AddressBookEntries: LIST of MAILABEntry rc: Integer;
ACTION
AddressBookName := 'Private Mailing List'; rc := MAILAddressBooksEntries(session, AddressBookName, AddressBookEntries); IF rc = 1 THEN (* 使用可能な住所録エントリー *) ELSE (* 住所録エントリーを読み取り中にエラーが起こりました。 *) END; END;
戻りコード | 説明 |
1 | 正常終了 |
1 より小 | エラー |
TSD Script Mail エラー・コードの完全なリストおよび MailSendHeader レコードの説明については、 Tivoli Service Desk 6.0 Developer's Toolkit プログラミングの手引き を参照してください。
現行セッションに使用可能な住所録名のリストを戻します。
FUNCTION MAILAddressBooks(VAL session:MAILSession, REF AddrBooks: LIST of STRING): INTEGER;
引き数名 | 説明 |
session | セッション ID |
AddrBooks | このセッションに使用可能な住所録のリスト (戻り値) |
この関数をサポートするのは VIM だけです。
VARIABLES session: MAILSession; rc: Integer; AddressBooks: LIST of String;
ACTIONS
(* MAILSession がオーブンされます。 *)
rc := MAILAddressBooks(session, AddressBooks); IF rc = 1 THEN (* このセッションに使用可能な住所録のリストは AddressBooks に保管されます *) ELSE (* 関数が失敗しました *) END; END;
戻りコード | 説明 |
1 | 正常終了 |
1 より小 | エラー |
TSD Script Mail エラー・コードのリストおよび MailSendHeader レコードの説明については、Tivoli Service Desk 6.0 Developer's Toolkit プログラミングの手引き を参照してください。
メッセージ・コンテナーをクローズします。
FUNCTION MAILCloseMessageContainer(VAL msgContainer: MAILContainer): INTEGER;
引き数名 | 説明 |
msgContainer | オープンされたメッセージ・コンテナーの ID。 |
VARIABLES msgContainer: MAILContainer;
ACTIONS
(* メッセージ・コンテナーはオープンされて使用されます *)
rc := MAILCloseMessageContainer(msgContainer); IF rc = 1 THEN (* メッセージ・コンテナーは正常にクローズされました *) ELSE (* 関数が失敗しました *) END; END;
戻りコード | 説明 |
1 | 正常終了。 |
1 より小 | エラー。 |
TSD Script Mail エラー・コードのリストおよび MailSendHeader レコードの説明については、Tivoli Service Desk 6.0 Developer's Toolkit プログラミングの手引き を参照してください。
セッションをクローズします。
FUNCTION MAILCloseSession(REF session: MAILSession): INTEGER;
引き数名 | 説明 |
session | クローズするセッションを識別します。 |
メール・セッションを完了する場合には、オープン・メール・セッションをすべてクローズしなければなりません。セッションをクローズすると、そのセッションと関連したシステム・リソースが解放されます。プログラムの終了時にオープン・セッションをクローズする障害は、メモリーが消失する結果になる場合があります。
注: MailSendHeader レコード構造の説明については、Tivoli Service Desk Developer's Toolkit プログラミングの手引き を参照してください。
VARIABLES rc: Integer; session: Integer;
ACTIONS rc := MAILOpenSession('F:\CCMAIL\CCDATA', 'VIMAPPLICATION', 'PASSWD', OMISEL_CP1252, session); IF rc <> 1 THEN (* セッションのオープン中にエラー *) ELSE
(* オープンしたセッションで何らかの操作を実行します。 *)
rc := MAILCloseSession(session); IF rc <> 1 THEN (* セッションのクローズ中にエラー *) END; END; END;
戻りコード | 説明 |
1 | 正常終了 |
1 より小 | エラー |
TSD Script Mail エラー・コードのリストおよび MailSendHeader レコードの説明については、Tivoli Service Desk 6.0 Developer's Toolkit プログラミングの手引き を参照してください。
セッション・パラメーターに指定されたセッションと関連したユーザーまたはメッセージ交換アプリケーションの名前を戻します。
FUNCTION MAILGetEntityName(VAL session: MAILSession, REF Name: MAILName): INTEGER;
引き数名 | 説明 |
session | ユーザー名が必要なセッションの ID。$Unknown が指定されていると、戻されるのはユーザーまたはメッセージ交換アプリケーションのデフォルト名です。デフォルトが使用可能でない場合には、エラーが戻されます。 |
Name | ユーザー名を受け取る MailName レコード。この関数から戻る際には、MailName レコードの識別名部分だけが埋められています。 |
KNOWLEDGEBASE ERROR;
USES mail;
ROUTINES PROCEDURE Mail;
PRIVATE ROUTINES
PROCEDURE Mail IS
VARIABLES sess :MAILSession; reply :string; rc :INTEGER;
ACTIONS
rc:=MAILOpenSession ('mailserv.microsoft.com', 'bgates@microsoft.com', 'password',$UNKNOWN, sess,OMI_VIM_INTERFACE); IF rc < 1 THEN WinMessageBox($Desktop,'Error',$MBIconError, 'Open session failed: '&rc);
MailGetLastErrorText(OMI_SMTP_POP_INTERFACE, sess,rc, rc, reply); WinMessageBox($Desktop,'Error',$MBIconError, 'Open session failed: '& reply); MAILTerminate(OMI_SMTP_POP_INTERFACE); EXIT; END;
END;
この関数をサポートするのは VIM だけです。
TSD Script Mail エラー・コードのリストおよび MailSendHeader レコードの説明については、Tivoli Service Desk 6.0 Developer's Toolkit プログラミングの手引き を参照してください。
最後に失敗した操作と関連したエラー・テキストを戻します。
FUNCTION MAILGetLastErrorText( VAL protocol: INTEGER, VAL sessID: MAILSession, VAL errCode: INTEGER, REF LastErrCode: INTEGER, REF ErrText: STRING)
引き数名 | 説明 |
protocol | メール・システムと通信するために使用するプロトコルを識別します |
sessID | セッションを識別します (戻り値 MailOpenSession) |
errCode | 最後の Mail 関数呼び出しによって戻されたエラー・コードの値 |
LastErrCode | 最後の Mail 関数呼び出しによって戻されたエラー・コード |
ErrText | 最後のエラー・テキストはこのパラメーターに戻されます |
この関数をサポートするのは VIM だけです。
TSD Script Mail エラー・コードのリストおよび MailSendHeader レコードの説明については、Tivoli Service Desk 6.0 Developer's Toolkit プログラミングの手引き を参照してください。
TSD Script Mail インターフェースを初期化します。これは、任意の TSD Script Mail インターフェース・サービスを使用する前に、最初の関数呼び出しとなるはずです。
MAILInitialize (VAL protocol:INTEGER): INTEGER
引き数名 | 説明 |
protocol | メール・システムと通信するために使用するプロトコルを識別します。
|
PROCEDURE SendMail IS VARIABLES SESS: MailSession; ACTIONS MAILInitialize(OMI_MAPI_INTERFACE);
(* ここでセッションをオープンします。 *)
(* その他の処理を実行します。*)
MAILTerminate(OMI_MAPI_INTERFACE);
戻りコード | 説明 |
1 | 正常終了。 |
1 より小 | エラー。 |
MailTerminate
TSD Script Mail エラー・コードのリストおよび MailSendHeader レコードの説明については、Tivoli Service Desk 6.0 Developer's Toolkit プログラミングの手引き を参照してください。
メッセージを読み取りとしてマークします。
FUNCTION MAILMarkMessageAsRead(VAL msgContainer: MAILContainer, VAL msgRef:MAILRef): INTEGER;
引き数名 | 説明 |
msgContainer | メッセージ・コンテナー ID |
MsgRef | 読み取りとしてマークされたメッセージのメッセージ参照番号 |
一部のメール・システムでは、この関数によっても受信した戻りが送信される原因になる場合があります。しかし、これは、前にメッセージを読み取ったことがなく、戻り受信が送信側によって要求された場合だけです。
VARIABLES rc: Integer; msgContainer: MAILContainer; msgRef: MAILRef;
ACTIONS (* メッセージ・コンテナーをオープンします *) (* コンテナー内のメッセージをスキャンし *) (* メッセージ参照番号を取得します *) (* msgRef を読み取りとしてマークしたいメッセージの番号に設定します *) rc := MAILMarkMessageAsRead(msgContainer, msgRef); IF (rc <> 1) THEN (* MAILMarkMessageAsRead 関数が失敗しました *) ELSE (* メッセージは読み取りとしてマークされました *) END;
(* メッセージ・コンテナーをクローズします *)
END;
戻りコード | 説明 |
1 | 正常終了 |
1 より小 | エラー |
TSD Script Mail エラー・コードのリストおよび MailSendHeader レコードの説明については、Tivoli Service Desk 6.0 Developer's Toolkit プログラミングの手引き を参照してください。
指定のメッセージ・コンテナーをオープンし、そのコンテナーに受信したメッセージをスキャンして読み取るために使用できる ID を戻します。
FUNCTION MAILOpenMessageContainer(VAL session: MAILSession, VAL cntnrName: STRING, REF msgContainer: MAILContainer ): INTEGER;
引き数名 | 説明 |
session | セッションを識別します |
cntnrName | オープンするメッセージ・コンテナーの名前。名前の構文はメッセージ・システムによって異なります。一般には、メッセージ・コンテナーを設定するデータベースまたは待ち行列の全 PATH です。
$Unknown を渡すと、セッションのデフォルト・メッセージ・コンテナーがオープンされます。デフォルト・メッセージ・コンテナーはメールボックスまたは inbox と呼ぶこともあります。 |
msgContainer | オープンされたメッセージ・コンテナーの ID |
メッセージ・システムは認証済みセッション ID を使用して、ユーザーが指定のメッセージ・コンテナーにアクセスしたかどうかを判別します。
注: MAPI セッションでは、cntnrName に $Unknown を渡すことができます
VARIABLES rc: Integer; session: MAILSession; name: String; hfile: File;
ACTIONS
(* セッションをオープンします *)
rc := MAILOpenMessageContainer(session, containername, msgcontainer); IF rc <> 1 THEN ( * 関数 MAILOpenMessageContainer が失敗しました *) ELSE (* メッセージ・コンテナーは正常にオープンされました *) END;
(* コンテナー / セッションをクローズします *)
END;
戻りコード | 説明 |
1 | 正常終了 |
1 より小 | エラー |
TSD Script Mail エラー・コードのリストおよび MailSendHeader レコードの説明については、Tivoli Service Desk 6.0 Developer's Toolkit プログラミングの手引き を参照してください。
メッセージ・システムで認証済みのセッションをオープンします。
FUNCTION MAILOpenSession(VAL pathSpec: STRING, VAL name: STRING, VAL password: STRING, VAL CharSet:INTEGER, REF session: MAILSession, VAL protocol:INTEGER): INTEGER;
引き数名 | 説明 |
pathSpec | メッセージ・コンテナー・データベースのパス名またはサーバー名。メッセージ・コンテナーは Lotus cc:Mail および Microsoft Mail で必要です。サーバー名は Lotus Notes、Microsoft Exchange、および SMTP/POP には必須です。このパラメーターが必須でない場合には、値 $Unknown を渡すことができます。
パラメーターで渡す特定値については、メール・アプリケーションのベンダーが提供する資料を参照してください。 |
name | ログインしようとしているユーザーの名前。このパラメーターが必須でない場合には、値 $Unknown を渡すことができます。 Microsoft Windows 95 ユーザー: MailOpenSession ステートメントの「注」の項を参照してください。 |
password | ログインしようとしているユーザーのパスワード。このパラメーターが必須でない場合には、値 $Unknown を渡すことができます。 Microsoft Windows 95 ユーザー: MailOpenSession ステートメントの「注」の項を参照してください。 |
CharSet | 全入力文字列に必要で、全出力文字列に必要な文字セット、あるいは MIME 文字セットパラメーターにデフォルトとして使用する文字セットを MIME コード化メッセージ件名行と本文のためにコントロールします。選択する文字セットは、次のいずれかとすることができます。
|
session | この関数でオープンされたセッション ID |
protocol | メール・システムと通信するために使用するプロトコルを識別します。
|
ヒント: CharSet 引き数で渡す値が分らない場合には、$Unknown を使用して正しい値が自動的に提供されるようにしてください。
Microsoft Exchange プロファイル名の使用
Microsoft Windows 98/NT には Microsoft Windows Messaging と呼ばれるプログラムが含まれています。このプログラムは MS-Exchange または MS-Mail クライアントとして作動し、ファクシミリおよびインターネット・メールなどの追加サービス用に構成することもできます。Windows Messaging はプロファイルを使用してユーザーに使用可能なサービスに関する情報を保管します。
Microsoft Windows Messaging を使用する Windows 98/NT ユーザーは、プロファイル名を <name> 引き数として渡して、メール・セッションをオープンする必要があります。パスワードは不要です。MailOpenSession の呼び出し時に、<password> 引き数に $Unknown を渡します。MS-Exchange または MS-Mail ユーザー ID を使用しないでください。 Windows Messaging クライアント・プログラムはユーザー ID とパスワードを自動的に Windows Messaging プロファイルから取得します。正しく作動するように、Windows Messaging プロファイルにはパスワード情報を組み込む必要があります。
VARIABLES rc: Integer; PathSpec: String; Name: String; Password: String; CharSet: Integer; Session: MAILSession;
ACTIONS PathSpec := 'server@company.com'(* メッセージ・コンテナー・データベースのパス指定 / サーバー名 *) Name := 'user@company.com';(* 有効なユーザー ID *) Password := 'password'; (* ユーザー ID のパスワード *) CharSet := OMISEL_US_ASCII;(* ご使用のシステムでサポートされる文字セット。*) rc := MAILOpenSession(PathSpec, Name, Password, CharSet, Session, OMI_SMTP_POP_INTERFACE); IF rc <> 1 THEN (* セッションのオープン中にエラー *) END; END;
戻りコード | 説明 |
1 | 正常終了 |
1 より小 | エラー |
TSD Script Mail エラー・コードのリストおよび MailSendHeader レコードの説明については、Tivoli Service Desk 6.0 Developer's Toolkit プログラミングの手引き を参照してください。
この関数は、TSD Script Mail インターフェースで使用される属性の一部のデフォルト値を照会するために使用します。
FUNCTION MAILQueryDefaults(VAL protocol : Integer, REF infoRec:MAILInfoRec): INTEGER;
引き数名 | 説明 |
protocol | メール・システムと通信するために使用するプロトコル。この関数が現在サポートされているのは VIM インターフェースの場合だけです。 |
infoRec | メール情報レコード構造。この関数から正常に戻ると、このレコードのフィールドは該当する値で埋められます。 |
この関数をサポートするのは VIM だけです。
VARIABLES inforec : MAILInfoRec; rc : Integer;
ACTIONS rc := MAILQueryDefaults(OMI_VIM_INTERFACE, inforec) IF (rc = 1) THEN (* inforec はシステム値で埋められます *) PrintInfoRec(inforec); ELSE MsgBox('An error occurred. Return code: ' & rc); exit; END;
戻りコード | 説明 |
1 | 正常終了 |
1 より小 | エラー |
TSD Script Mail エラー・コードのリストについては、 Tivoli Service Desk 6.0 Developer's Toolkit プログラミングの手引き を参照してください。
新規メッセージがメッセージ・コンテナーに送達されたかどうかを判別します。
FUNCTION MAILQueryNewMessages (VAL MsgContainer: MAILContainer, REF NewMessages:BOOLEAN): INTEGER;
注意: この関数を余り頻繁に呼び出すと、基礎をなすメッセージ・システムの著しいパフォーマンス上の問題が起こる可能性があります。 これを防ぐために、
一部のメッセージ・システムでは、この関数が呼び出されて、この関数に対する直前の呼び出しが最新だった場合に FALSE がもどされて以後の経過時間を検査している場合があります。
注: この関数は 1 分当りに 1 回以上呼び出さないことをお勧めします
引き数名 | 説明 |
msgContainer | メッセージ・コンテナーの ID |
newMessages | 戻り値は新規メッセージの存在または不在を示します |
注: この関数をサポートするのは VIM だけです
VIM では、この関数はメッセージ・コンテナーをポーリングして、この関数に対する直前の呼び出し以後に何らかの新規メッセージが到着しているかどうかを判別します。初めてこの関数をあるメッセージ・コンテナーに対して呼び出すと、戻り値はそのメッセージ・コンテナーがオープンされた後に何らかの新規メッセージが到着しているかどうかを示します。
VARIABLES msgContainer: MAILContainer; newMessages: Boolean; rc: Integer;
ACTIONS (* セッション / コンテナーをオープンします *) rc := MAILQueryNewMessages(msgContainer, newMessages); IF (rc <> 1) THEN (* MAILQueryNewMessages 関数が失敗しました *) ELSE IF (newMessages = TRUE) THEN (* コンテナーのオープン以後に新規メッセージはありました *) ELSE (* コンテナーのオープン以後に新規メッセージがありませんでした *) END; END; . . (* セッション / コンテナーをクローズします *) . END
戻りコード | 説明 |
1 | 正常終了 |
1 より小 | エラー |
TSD Script Mail エラー・コードのリストおよび MailSendHeader レコードの説明については、Tivoli Service Desk 6.0 Developer's Toolkit プログラミングの手引き を参照してください。
メッセージ・コンテナー内の未読み取りメッセージの数を判別します。
FUNCTION MAILQueryNewMessages(VAL msgContainer: MAILContainer, REF newMessages :BOOLEAN): INTEGER;
引き数名 | 説明 |
msgContainer | メッセージ・コンテナーの ID。 |
newMessages | メッセージ・コンテナーがオープンされた後にこのメッセージ・コンテナーが受信した新規メッセージ (ある場合) の数を示します。 |
各呼び出しにはかなりの処理時間が必要なので、この関数はポーリングのために使用してはいけません。
VARIABLES rc: Integer; msgContainer: MAILContainer; unreadCount: Integer; hfile: FILE;
ACTIONS
(* セッション / コンテナー / ファイルをオープンすます *)
rc := MAILQueryUnreadMailCount(msgContainer, unreadCount); IF (rc <> 1) THEN (* MAILQueryUnreadMailCount 関数が失敗しました *) ELSE FWrite( hfile, 'Number of unread messages : ' & unreadCount); END; (
* セッション / コンテナー / ファイルをクローズします *)
END;
戻りコード | 説明 |
1 | 正常終了 |
1 より小 | エラー |
TSD Script Mail エラー・コードのリストおよび MailSendHeader レコードの説明については、Tivoli Service Desk 6.0 Developer's Toolkit プログラミングの手引き を参照してください。
メッセージ・コンテナーのメッセージを読み取ります。
FUNCTION MAILReadMessage (VAL msgContainer:MAILContainer, VAL msgRef:MAILRef, VAL nestedLevel:INTEGER, REF msgHeader:MAILReadHeader, REF msgItems:LIST of MAILItem, REF toList, ccList, bccList:LIST of MAILName, REF nestedMsg:BOOLEAN);
引き数名 | 説明 |
msgContainer | メッセージ・コンテナー ID。 |
msgRef | 読み取るメッセージのメッセージ参照番号。 |
nestedLevel | 情報を戻すネストされたメッセージのレベル。デフォルトにより、最上位メッセージに関する情報が戻されます。最上位メッセージのレベル番号は 0 です。 |
msgHeader | 読み取るメッセージのヘッダー情報。ネストされたメッセージの場合には、これは転送履歴の特定ポイントに存在していたメッセージの属性と対応しています。 |
msgItems | 注釈部分、添付ファイル、およびアプリケーション定義のアイテムを含むメッセージ中の全アイテムのリスト。添付ファイルの場合、出力ファイルは固有ファイル・システムの形式で書き込まれていることに注意してください。 |
toList | メッセージの TO リスト中の宛先のリスト。 |
ccList | メッセージの CC (カーボン・コピー) リスト中の受信側のリスト。 |
bccList | メッセージの BCC (ブラインド・カーボン・コピー) リスト中の受信側のリスト。 |
nestedMsg | ネストされたメッセージが nestedLevel パラメーターによって指示されたレベルに存在しているかどうかを指示するフラグ。 |
MAPI ではネストされたメッセージはサポートされません。MAPI メッセージがもつことがでる注釈は 1 つだけで、これは msgItems リストの最初のアイテムでなければなりません。
注: MAPI でサポートされないヘッダー属性を確認するには、TSD Script Mail レコード構造の項を参照してください
VARIABLES ...
PROCEDURE MessageReadDemo IS ...
ACTIONS . . (* ファイル / セッション / コンテナーをオープンします *) . rc := ScanAndReadMessages(msgContainer); . . (* Close the container/session/file *) . END; FUNCTION ScanAndReadMessages(VAL msgContainer:MAILContainer ): INTEGER IS ...
ACTIONS rc := MAILScanMessages(msgContainer, OMI_REVERSE_SCAN, $Unknown, TRUE, nMessages, msgsummary); msgRef := msgsummary[$First].MsgReference; ReadMessage (msgContainer, msgRef); Exit(1); END;
FUNCTION ReadMessage(VAL msgContainer:MAILContainer, VAL msgRef:MAILRef):INTEGER IS
VARIABLES nestedmsg:BOOLEAN; msgHeader:MAILReadHeader; msgItems: LIST of MAILItem; toList: LIST of MAILName; ccList: LIST of MAILName; bccList: LIST of MAILName; rc : INTEGER;
ACTIONS rc := MAILReadMessage(msgContainer, msgRef, 0, msgHeader, msgItems, toList, ccList, bccList, nestedmsg); if (rc < 0) THEN (* メッセージの読み取りが失敗しました *) ELSE (* メッセージは正常に読み取られました *) END; END;
戻りコード | 説明 |
1 | 正常終了。 |
1 より小 | エラー。 |
TSD Script Mail エラー・コードのリストならびに MailItem、 MailName、MailReadHeader、および MailSendHeader レコード構造の説明については、Tivoli Service Desk 6.0 Developer's Toolkit プログラミングの手引き を参照してください。
コード例の詳細については、Tivoli Service Desk Developer's Toolkit がインストールされた、EXAMPLES ディレクトリーのファイル msgread.kb を参照してください。
この関数は、メッセージ参照番号によって使用されたリソースを解放するために使用します。 MailScanMessages 関数を使用してメッセージをスキャンすると、メッセージ参照番号が戻されます。これらのメッセージ参照は、必要な処理がメッセージを用いて行われた後で、この呼び出しを使用して解放されます。メッセージ参照番号が解放されてしまったら、その番号を使用してはいけません。
FUNCTION MAILReleaseMessageReference(VAL msgContainer: MAILContainer, VAL msgReference: MAILRef) : INTEGER;
引き数名 | 説明 |
msgContainer | メッセージ・コンテナー ID。 |
msgReference | 解放するメッセージ参照番号。戻るときに、この引き数は $Unknown に設定されます。 |
メッセージ参照番号は不要になったらすぐに解放する方が賢明です。これを行うと、システム・メモリー・リソースは最大限解放されます。
PROCEDURE MailReadDemo IS
VARIABLES rc, nmessages : Integer; msgContainer : MailContainer; outfile : FILE; msgSummary : LIST of MAILMsgSummary; msgHeader : MAILReadHeader; msgItems : LIST of MAILItem; toList, ccList, bccList : List of MAILName; nsflag : Boolean; loopcnt : Integer;
ACTIONS
IF (context.container = $unknown) THEN MessageBox('メッセージ・コンテナーがオープンされていません。このテストは実行できません'); Exit; ELSE msgContainer := context.container; END;
rc := MAILScanMessages(msgContainer, 0, $unknown, TRUE, nmessages, msgSummary);
IF (rc <> 1) THEN MessageBox('MAILScanMessages 失敗が失敗しまし。エラー・コードは ' & rc); Exit; END;
MessageBox('MailScanMessages function successful');
(* ここで全メッセージを読み取ります *) Fopen(outfile, 'readmsg1.txt', $create); loopcnt := 0; FOR msgSummary DO loopcnt := loopcnt + 1; rc := MAILReadMessage(msgContainer, msgSummary[$current]. msgReference, 0, msgHeader, msgItems, toList, ccList, bccList, nsflag); IF (rc <> 1) THEN MessageBox('MAILReadMessage function failed reading message number ' & loopcnt & '. Error code is ' & rc ); ELSE PrintMessage(outfile, msgHeader, msgItems, toList, ccList, bccList); END; END; FClose(outfile); MessageBox('MailReadMessage function successful');
(* メッセージ参照番号を解放します *) FOR msgSummary DO MAILReleaseMessageReference(msgContainer, msgSummary[$current]. msgReference); END; END;
戻りコード | 説明 |
1 | 正常終了 |
1 より小 | エラー |
MailScanMessages
TSD Script Mail エラー・コードのリストについては、 Tivoli Service Desk 6.0 Developer's Toolkit プログラミングの手引き を参照してください。
メッセージをメッセージ・コンテナーから除去します。
FUNCTION MAILRemoveMessage(VAL msgContainer:MAILContainer, VAL msgRef:MAILRef): INTEGER;
引き数名 | 説明 |
msgContainer | メッセージ・コンテナー ID。 |
msgRef | 除去するメッセージのメッセージ参照番号。 |
VARIABLES msgContainer: MAILContainer; msgRef: MAILRef; rc: Integer;
ACTIONS (* メッセージ・コンテナーをオープンします *) (* コンテナーのメッセージをスキャンし、メッセージ参照番号を取得します *) rc := MAILRemoveMessage(msgContainer, msgRef); IF (rc <> 1) THEN (* メッセージが正常に除去できませんでした *) ELSE (* メッセージは正常に除去されました *) END; . . (* メッセージ・コンテナーをクローズします *) . END;
戻りコード | 説明 |
1 | 正常終了 |
1 より小 | エラー |
TSD Script Mail エラー・コードのリストおよび MailSendHeader レコードの説明については、Tivoli Service Desk 6.0 Developer's Toolkit プログラミングの手引き を参照してください。
メッセージ・コンテナー内のメッセージのメッセージ参照番号と要約属性を戻します。
FUNCTION MAILScanMessages(VAL msgCntnr:MAILContainer, VAL Flag:INTEGER, VAL Filter:MAILFilter, VAL summFlag:BOOLEAN, REF nMessages:INTEGER, REF msgSummary:LIST of MAILMsgSummary ): INTEGER;
引き数名 | 説明 |
msgCntnr | メッセージ・コンテナー ID。 |
Flag | メッセージがスキャンされているかどうかとフラグされる順序を判別する列挙フラグ。これは、次の 1 つまたは複数の値のビット単位の OR によって作成されます。
|
Filter | メッセージをスキャンするために使用するフィルターを指定します。 $Unknown を渡すと、フィルター掛けは行われず、全メッセージがスキャンされます。(これには送信済みメッセージは含まれません。) 現在、複数のフィルター条件を設定することはできません。 |
summFlag | メッセージ要約属性を検索するかどうかを指示します。このフラグが FALSE (デフォルト値) に設定されている場合には、MailMsgSummary レコード中のメッセージ参照番号だけが検索されます。デフォルト動作では、メッセージ参照番号だけを検索するようになっています。 |
nmessages | スキャンしたメッセージの数。 |
msgSummary | メッセージ情報が含まれている MailMsgSummary レコードのリスト。メッセージ参照番号はこのレコードから取得され、メッセージを読み取るために使用されます。 |
MAPI では、フィルターはサポートされません。
MAPI では、フラグ (summFlag) の値とは無関係に、メッセージ参照番号しか検索されません。
KNOWLEDGEBASE MSGCONT; PRIVATE VARIABLES ... ROUTINES PROCEDURE ContainerDemo IS VARIABLES sess: MAILSession; rc : INTEGER; msgContainer : MAILContainer;
ACTIONS
(* ファイル / セッション / コンテナーをオープンします *)
(* --- コンテナーのメッセージのスキャン ---- *) rc := ScanMessages(msgContainer);
(* コンテナー / ファイル / セッション をクローズします *)
END;
FUNCTION ScanMessages(VAL msgContainer:MAILContainer): INTEGER IS VARIABLES Filter : MAILFilter; summaryFlag : BOOLEAN; nMessages, rc: INTEGER; msgsummary : LIST of MAILMsgSummary;
ACTIONS rc := MAILScanMessages(msgContainer, 0, $Unknown, TRUE, nMessages, msgsummary); if (rc < 0) THEN (* メッセージ・スキャン関数が失敗しました *) END; (* メッセージ・スキャン関数は成功しました *) PrintScannedMessagesInfo(msgsummary);
END;
PROCEDURE PrintScannedMessagesInfo(VAL msgsummary:LIST of MAILMsgSummary) IS VARIABLES summrec : MAILMsgSummary; ACTIONS FOR msgsummary DO summrec := msgsummary[$current]; FWriteLn(hfile, 'MessageType : ' & summrec.Type); FWriteLn(hfile, 'Unread Mail: ' & summrec.UnreadMail); FWriteLn(hfile, 'FromName: ' & summrec.FromName); FWriteLn(hfile, 'FromAddress: ' & summrec. FromAddress); FWriteLn(hfile, 'Priority: ' & summrec.Priority); FWriteLn(hfile, 'Subject: ' & summrec.Subject); FWriteLn(hfile, ' ********* '); END; END;
戻りコード | 説明 |
1 | 正常終了。 |
1 より小 | エラー。 |
TSD Script Mail エラー・コードのリストならびに MailFilter、 MailSendHeader、および MailMsgSummary レコード構造の説明については、Tivoli Service Desk 6.0 Developer's Toolkit プログラミングの手引き を参照してください。
コード例の詳細については、Tivoli Service Desk Developer's Toolkit がインストールされた、EXAMPLES ディレクトリーのファイル msgcont.kb を参照してください。
新規メール・メッセージを既存メール・メッセージから作成します。
メッセージを転送するか、メッセージに応答するために使用します。
FUNCTION MAILSendDerivedMessage(VAL msgCntnr:MAILContainer, VAL msgRef:MAILRef, VAL type, flags:Integer, VAL msgHeader:MAILSendHeader, VAL toList, ccList, bccList:LIST of VAL items:LIST of MAILItem ): INTEGER;
引き数名 | 説明 |
msgCntnr | メッセージ・コンテナー ID。 |
msgRef | 新規メール・メッセージの派生元のメッセージのメッセージ参照番号。 |
type | 作成する新規メール・メッセージのタイプ。これは OMISEL_FORWARD または OMISEL_REPLY とすることができます。 |
flags | 新たに作成するメール・メッセージで継承するメール・メッセージのコンポーネントとの OR されたスタイル・フラグのビット・マスク。flags の意味は、作成するメール・メッセージのタイプによって異なります。何も継承しない場合には、$Unknown を使用することができます。
タイプが OMISEL_FORWARD の場合には、flags の意味は次の通りです。 OMI_HISTORY: 新たに作成するメール・メッセージで、既存メール・メッセージの直前の転送履歴を継承するように指定します。これを設定されていないと、直前の履歴は継承されません。 タイプが OMISEL_REPLY の場合には、flags には次の意味があります。 OMI_INHERIT_CONTENTS: 新たに作成するメール・メッセージで既存メール・メッセージの内容を継承するように指定します。これが設定されていないと、内容は継承されません。一部のメッセージ・サービス設定では注釈部分しか継承できないのに対して、その他の設定では注釈部分とすべての添付が両方とも継承されます。 OMI_ALL_RECIPIENTS: 既存メール・メッセージの全宛先を新たに作成するメール・メッセージで継承するように指定します。これを設定されていないと、元のメール・メッセージの送信側しか継承されません。 |
msgHeader | MailSendHeader レコードを、送信するメッセージのヘッダー属性が設定されるように初期化します。 |
toList | メッセージの 1 次宛先のリスト。 |
ccList | メッセージの CC (カーボン・コピー) リスト中の受信側のリスト。 |
bccList | メッセージの BCC (ブラインド・カーボン・コピー) リスト中の受信側のリスト。 |
items | メッセージ中のアイテムのリスト。 |
この関数をサポートするのは VIM だけです。
戻りコード | 説明 |
1 | 正常終了。 |
1 より小 | エラー。 |
TSD Script Mail エラー・コードのリストおよび MailSendHeader レコードの説明については、Tivoli Service Desk 6.0 Developer's Toolkit プログラミングの手引き を参照してください。
新規メッセージを作成し、そのメッセージを送信します。
FUNCTION MAILSendMessage(VAL session:MAILSession, VAL MsgType:STRING, VAL MsgHeader: MAILSendHeader, VAL ToList, ccList, bccList:LIST of MAILName, VAL Items: LIST of MAILItem ): INTEGER;
注意: MAPI では、送信するメッセージをメッセージ・ログに記録するかどうかを指定する方法はありません 出力メッセージによるディスク・スペース問題を回避するために、「MS-Mail」メニューで「メール / オプション」選択を使用して、メッセージの記録をコントロールすることができます。
メール・クライアントは、このような方法で、送信メッセージが保管されないように設定されている必要があります。
引き数名 | 説明 |
session | メッセージの作成対象のセッションを識別します。 |
MsgType | 合成するメッセージのタイプ。メール・メッセージには VIM_MAIL または OMI_MAIL を使用する必要があります。このタイプは 32 文字までの長さとすることができます。 |
MsgHeader | MailSendHeader レコードを、送信するメッセージのヘッダー属性が設定されるように初期化します。 |
toList | メッセージの 1 次宛先のリスト。 |
ccList | メッセージの CC (カーボン・コピー) リスト中の宛先のリスト |
bccList | メッセージの BCC (ブラインド・カーボン・コピー) リスト中の受信側のリスト。 |
Items | メッセージ中のアイテムのリスト。 |
MailSendHeader レコードの属性およびフィールドがすべて、メッセージ交換サービス提供者によってサポートされるわけではありません。これが原因でフィールドを MailSendMessageによって設定できなかった場合には、エラー・コードは生成されません。MailSendMessage がエラー・コードを戻すのは、ヘッダー属性に「サポートされていない」以外のエラーが起こった場合だけです。
この関数でメッセージ宛先の 1 つに送信できなかった場合には、エラー・コードが戻されます。同様に、メッセージ・アイテムのどれかが正常にメッセージに添付できなかった場合にも、この関数からエラー・コードが戻されます。
toList および ccList に指定された宛先は、bccList に指定された宛先の名前を表示することができません。
メッセージの最大件名長または最大テキスト長に制限がある場合があります。 MailQueryDefaults を使用して最大件名長および最大テキスト長を判別してください。
クラス NOTE_PART のメッセージ・アイテムは 1 つしかなくてもかまわず、メッセージ・リスト中の最初のアイテムでなければなりません。
KNOWLEDGEBASE SENDDEMO;
PROCEDURE SendDemo IS VARIABLES session: MAILSession; rc : INTEGER; ACTIONS
(* セッションをオープンします *)
rc := SendMail(session);
(* セッションをクローズします *)
END;
FUNCTION SendMail(VAL sess: MAILSession): INTEGER IS VARIABLES header: MAILSendHeader; Items: LIST of MAILItem; Item: MAILItem; name: MAILName; toList: LIST of MAILName; rc: INTEGER; ACTIONS (* ヘッダー・レコードを設定します *) header.subject := 'Sample Message'; (* メッセージ・アイテム・リストをビルドします *) (* 最初のアイテムは注釈部品です *) Item.Class := OMISEL_NOTE_PART; Item.Type := OMI_TEXT; Item.Name := 'Title for the note part'; Item.BufferType := OMI_ACTUAL_DATA; Item.BufferData := 'Hi Reader, This message is being sent by a VIM application.'; ListInsert(Items, Item, $After); (* 2 番目のアイテムは添付ファイルです *) Item.Class := OMISEL_ATTACH; Item.Name := 'image.pcx'; Item.BufferType := OMI_FILE_DATA; Item.BufferData := 'D:\TMP\PAPANIM.PCX'; ListInsert(Items, Item, $After); (* 宛先を指定します *) name.EntityType := OMISEL_ENTITY; name.AddressBookName := ''; name.EntityName := 'JOHN'; ListInsert(toList, name, $After); rc := MailSendMessage(sess, OMI_MAIL, header, toList, $UNKNOWN, $UNKNOWN, Items); Exit(rc); END;
戻りコード | 説明 |
1 | 正常終了。 |
1 より小 | エラー。 |
以下については、Tivoli Service Desk 6.0 Developer's Toolkit プログラミングの手引き を参照してください。
注: コード例の詳細については、Tivoli Service Desk Developer's Toolkit がインストールされた、EXAMPLES ディレクトリーの senddemo.kb ファイルを参照してください
TSD Script Mail インターフェースによって使用されたリソースを解放します。この関数は、アプリケーションの終了前に呼び出されなければなりません。この呼び出しの実行後は、MailInitialize を呼び出すまで、TSD Script Mail インターフェースに対するどの呼び出しも行うことができません。
FUNCTION MAILTerminate (VAL protocol: INTEGER): INTEGER
引き数名 | 説明 |
protocol | メール・システムと通信するために使用するプロトコルを識別します。
|
PROCEDURE SendMail IS VARIABLES SESS: MailSession; ACTIONS MAILInitialize;
(* ここでセッションをオープンします。*)
(* その他の処理を実行します。*)
MAILTerminate;
戻りコード | 説明 |
1 | 正常終了。 |
1 より小 | エラー。 |
MailInitialize
TSD Script Mail エラー・コードのリストおよび MailSendHeader レコードの説明については、Tivoli Service Desk 6.0 Developer's Toolkit プログラミングの手引き を参照してください。
メッセージ上のディジタル・シグニチャーを読み取って検査します。
FUNCTION MAILVerifyMessageSignature(VAL msgContainer: MAILContainer, VAL msgRef:MAILRef, REF signer:MAILName, REF certifier:MAILName ): INTEGER;
引き数名 | 説明 |
msgContainer | メッセージ・コンテナー ID |
msgRef | メッセージのメッセージ参照番号 |
signer | 署名者の識別 |
certifier | 認証者の識別 |
この関数をサポートするのは VIM だけです。メッセージ・シグニチャーの意味 (検査の従属可能性など) は、メッセージ・システムの設定によって異なります。
VARIABLES rc: Integer; msgContainer: MAILContainer; msgRef: MAILRef; signer: String; certifier: String; hfile: FILE; ACTIONS (* メッセージ・コンテナーをオープンし、メッセージをスキャンし、 msgRef を必要なシグニチャー情報を含むメッセージの参照番号に 設定します。*) . rc:= MAILVerifyMessageSignature(msgContainer, msgRef, signer, certifier); IF rc <> 1 THEN ELSE FWrite (hfile, 'The signer of the message is ' & signer.EntityName); FWrite (hfile, 'The certifier of the message is ' & certifier.EntityName); END . . . END;
戻りコード | 説明 |
1 | 正常終了。 |
1 より小 | エラー。 |
TSD Script Mail エラー・コードのリストおよび MailSendHeader レコードの説明については、Tivoli Service Desk 6.0 Developer's Toolkit プログラミングの手引き を参照してください。
Tivoli Service Desk 6.0 Developer's Toolkit Script 言語解説書