Tivoli Service Desk 6.0 Developer's Toolkit Script 言語解説書

TSD Script Mail 関数

メイン・ページに戻る


MailAddressBookEntries

説明

住所録内の全エントリーのリストを戻します。

構文

FUNCTION MAILAddressBookEntries(VAL session: MAIL Session,
                                VAL addrBookName: STRING,
                                REF addrBookEntries: LIST of MAILABEntry): INTEGER;

引き数の注

引き数名 説明
session メール・セッション ID。
addrBookName オープンする住所録の名前。次の記号名は標準住所録をオープンするためのショートカットとして使用可能です。
  • OMI_PUBLIC: 共通にアクセス可能な (すなわち、特定場所の全ユーザーにアクセス可能な)エントリーが含まれているデフォルト住所録をオープンするために使用します。
  • OMI_PRIVATE: 専用にアクセス可能な (すなわち、現在ログインしているユーザーだけにアクセス可能な) エントリーが含まれているデフォルト住所録をオープンするために使用します。
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 プログラミングの手引き を参照してください。


MailAddressBooks

説明

現行セッションに使用可能な住所録名のリストを戻します。

構文

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 プログラミングの手引き を参照してください。


MailCloseMessageContainer

説明

メッセージ・コンテナーをクローズします。

構文

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 プログラミングの手引き を参照してください。


MailCloseSession

説明

セッションをクローズします。

構文

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 プログラミングの手引き を参照してください。


MailGetEntityName

説明

セッション・パラメーターに指定されたセッションと関連したユーザーまたはメッセージ交換アプリケーションの名前を戻します。

構文

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 プログラミングの手引き を参照してください。


MailGetLastErrorText

説明

最後に失敗した操作と関連したエラー・テキストを戻します。

構文

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 プログラミングの手引き を参照してください。


MailInitialize

説明

TSD Script Mail インターフェースを初期化します。これは、任意の TSD Script Mail インターフェース・サービスを使用する前に、最初の関数呼び出しとなるはずです。

構文

MAILInitialize (VAL protocol:INTEGER): INTEGER

引き数の注

引き数名 説明
protocol メール・システムと通信するために使用するプロトコルを識別します。
  • OMI_VIM_INTERFACE: VIM プロトコルで使用する場合
  • OMI_ MAPI_INTERFACE: MAPI プロトコルで使用する場合

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 プログラミングの手引き を参照してください。


MailMarkMessageAsRead

説明

メッセージを読み取りとしてマークします。

構文

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 プログラミングの手引き を参照してください。


MailOpenMessageContainer

説明

指定のメッセージ・コンテナーをオープンし、そのコンテナーに受信したメッセージをスキャンして読み取るために使用できる 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 プログラミングの手引き を参照してください。


MailOpenSession

説明

メッセージ・システムで認証済みのセッションをオープンします。

構文

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 コード化メッセージ件名行と本文のためにコントロールします。選択する文字セットは、次のいずれかとすることができます。
  • OMISEL_CP850: テキストおよび文字列はコード・ページ 850 を使用して表示されて戻されます。これは常に DOS および OS/2 ベースの実装に有効です。
  • OMISEL_CP1252: テキストおよび文字列はコード・ページ 1252 (ANSI) を使用して表示されて戻されます。これは常に Windows ベースの実装に有効です。
  • OMISEL_CP437: テキストおよび文字列はコード・ページ 437 (IBM PC) を使用して表示されて戻されます。これは常に DOS ベースの実装に有効です。
  • OMISEL_LMBCS: テキストおよび文字列は Lotus マルチバイト文字セットを使用して表示されて戻されます。
  • OMISEL_UNICODE: テキストおよび文字列データは Unicode を使用して表示されて戻されます。
  • OMISEL_ISO_2022_JP: デフォルト MIME 文字セット・パラメーターは ISO-2022-JP に設定されます。
  • OMISEL_ISO_2022_JP_2: デフォルト MIME 文字セット・パラメーターは ISO-2022-JP-2 に設定されます。
  • OMISEL_ISO_8859_1: デフォルト MIME 文字セット・パラメーターは ISO-_8859-1 (ラテン語) に設定されます。
  • OMISEL_US_ASCII: デフォルト MIME 文字セット・パラメーターは US ASCII (ANSI X3.4) に設定されます。
session この関数でオープンされたセッション ID
protocol メール・システムと通信するために使用するプロトコルを識別します。
  • OMI_VIM_INTERFACE: VIM プロトコルで使用する場合
  • OMI_ MAPI_INTERFACE: MAPI プロトコルで使用する場合
  • OMI_ SMTP_POP_INTERFACE: SMTP/POP プロトコルで使用する場合

ヒント: 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 プログラミングの手引き を参照してください。


MailQueryDefaults

説明

この関数は、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 プログラミングの手引き を参照してください。


MailQueryNewMessages

説明

新規メッセージがメッセージ・コンテナーに送達されたかどうかを判別します。

構文

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 プログラミングの手引き を参照してください。


MailQueryUnreadMailCount

説明

メッセージ・コンテナー内の未読み取りメッセージの数を判別します。

構文

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 プログラミングの手引き を参照してください。


MailReadMessage

説明

メッセージ・コンテナーのメッセージを読み取ります。

構文

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 エラー・コードのリストならびに MailItemMailNameMailReadHeader、および MailSendHeader レコード構造の説明については、Tivoli Service Desk 6.0 Developer's Toolkit プログラミングの手引き を参照してください。

コード例の詳細については、Tivoli Service Desk Developer's Toolkit がインストールされた、EXAMPLES ディレクトリーのファイル msgread.kb を参照してください。


MailReleaseMessageReference

説明

この関数は、メッセージ参照番号によって使用されたリソースを解放するために使用します。 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 プログラミングの手引き を参照してください。


MailRemoveMessage

説明

メッセージをメッセージ・コンテナーから除去します。

構文

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 プログラミングの手引き を参照してください。


MailScanMessages

説明

メッセージ・コンテナー内のメッセージのメッセージ参照番号と要約属性を戻します。

構文

 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 によって作成されます。
  • OMI_UNREADONLY: 未読み取りメッセージのみを戻します。メッセージはデフォルトで戻されます。
  • OMI_REVERSE_SCAN: メッセージを逆順 (先入れ先出し) に列挙します。
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 エラー・コードのリストならびに MailFilterMailSendHeader、および MailMsgSummary レコード構造の説明については、Tivoli Service Desk 6.0 Developer's Toolkit プログラミングの手引き を参照してください。

コード例の詳細については、Tivoli Service Desk Developer's Toolkit がインストールされた、EXAMPLES ディレクトリーのファイル msgcont.kb を参照してください。


MailSendDerivedMessage

説明

新規メール・メッセージを既存メール・メッセージから作成します。

メッセージを転送するか、メッセージに応答するために使用します。

構文

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 プログラミングの手引き を参照してください。


MailSendMessage

説明

新規メッセージを作成し、そのメッセージを送信します。

構文

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 メッセージ中のアイテムのリスト。

注 (VIM)

MailSendHeader レコードの属性およびフィールドがすべて、メッセージ交換サービス提供者によってサポートされるわけではありません。これが原因でフィールドを MailSendMessageによって設定できなかった場合には、エラー・コードは生成されません。MailSendMessage がエラー・コードを戻すのは、ヘッダー属性に「サポートされていない」以外のエラーが起こった場合だけです。

この関数でメッセージ宛先の 1 つに送信できなかった場合には、エラー・コードが戻されます。同様に、メッセージ・アイテムのどれかが正常にメッセージに添付できなかった場合にも、この関数からエラー・コードが戻されます。

toList および ccList に指定された宛先は、bccList に指定された宛先の名前を表示することができません。

メッセージの最大件名長または最大テキスト長に制限がある場合があります。 MailQueryDefaults を使用して最大件名長および最大テキスト長を判別してください。

注 (MAPI)

クラス 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 ファイルを参照してください


MailTerminate

説明

TSD Script Mail インターフェースによって使用されたリソースを解放します。この関数は、アプリケーションの終了前に呼び出されなければなりません。この呼び出しの実行後は、MailInitialize を呼び出すまで、TSD Script Mail インターフェースに対するどの呼び出しも行うことができません。

構文

FUNCTION MAILTerminate (VAL protocol: INTEGER): INTEGER

引き数の注

引き数名 説明
protocol メール・システムと通信するために使用するプロトコルを識別します。
  • OMI_VIM_INTERFACE: VIM プロトコルで使用する場合
  • OMI_ MAPI_INTERFACE: MAPI プロトコルで使用する場合

PROCEDURE SendMail IS
  VARIABLES
 SESS: MailSession;
  ACTIONS
 MAILInitialize;
 (* ここでセッションをオープンします。*)
 (* その他の処理を実行します。*)
MAILTerminate;

戻りコード

戻りコード 説明
1 正常終了。
1 より小 エラー。

次も参照してください

MailInitialize

TSD Script Mail エラー・コードのリストおよび MailSendHeader レコードの説明については、Tivoli Service Desk 6.0 Developer's Toolkit プログラミングの手引き を参照してください。


MailVerifyMessageSignature

説明

メッセージ上のディジタル・シグニチャーを読み取って検査します。

構文

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 言語解説書

メイン・ページに戻る

著作権