ページの先頭行へ戻る
Systemwalker Centric Manager API・スクリプトガイド

4.42 Mp_SendMSMail2()関数

機能説明

MS-mailの送信を要求します。

呼び出し形式

long Mp_SendMSMail2(unsigned char *AppName,MpAddress *AddressList,
                    int nAddressList,MpDataList *MailData,
                    int nMailData,unsigned char *MailTitle, 
                    MpMMParam *MMailParam,char *exehost)

パラメタ

AppName:

呼び出し元のアプリケーション名のアドレスを指定します。
アプリケーション名は64バイト以内で指定します。

AddressList:

あて先情報構造体(MpAddress)のアドレスを指定します。
メールを送信するユーザ名を指定します。
複数指定する場合は、配列で指定します。

nAddressList:

AddressListに指定した配列数を指定します。

MailData:

メール送信データ情報構造体(MpDataList)のアドレスを指定します。複数のデータを送信する場合は、配列で指定します。

nMailData:

MailDataに指定した配列数を指定します。

MailTitle:

メールのタイトルを指定します。

MMailParam:

メール送信管理情報構造体(MpMMParam)のアドレスを指定します。
メールを送信するための情報を指定します。
NULLの場合、各項目の省略値を使用します。

exehost:

アクションを実行するホスト名(アクション実行を選択したクライアント)のアドレスを指定します。
NULLを指定した場合は、[アクション環境設定]ウィンドウで指定したホストでアクションが実行されます。

構造体の説明

あて先情報構造体(MpAddress)の形式

typedef struct MpAddress_tag {
    int type ; 
    unsigned char *address ;
    char *addrid ;
} MpAddress ;
type:

addressに指定したアドレスの種別を指定します。

TYPE_ADDRESS:

送信先のメールアドレスです。

TYPE_NAME:

あて先名です。

address:

メールアドレスまたはあて先名のアドレスを指定します。

addrid:

TYPE_NAMEを指定した場合に、あて先名に対応する利用者管理の利用者コードのアドレスを指定します。

メール送信データ情報構造体(MpDataList)の形式

typedef struct MpDataList_tag {
    int type ;
    unsigned char *data ;
} MpDataList ;
type:

dataに指定するデータの種別を指定します。

TYPE_LMEMORY:

メモリデータです。

TYPE_FILENAME:

ファイル名です。

TYPE_TEMPFILE:

ファイル名(メール送信が正常終了した後、アクション管理がファイルを削除する)です。

data:

TYPE_LMEMORYの場合は、1028バイト以内で指定したメモリデータのアドレスを指定します。
TYPE_FILENAME、およびTYPE_TEMPFILEの場合は、260バイト以内で指定したファイル名のアドレスを指定します。
なお、ファイルはexehostで指定したホストに存在するものを指定してください。

メール送信管理情報構造体(MpMMParam)の形式

typedef struct MpMMParam_tag {
    char *Profile ;
    char *Password ;
} MpMMParam ;
Profile:

ログインするユーザ名のアドレスを指定します。
NULLを指定した場合は、省略値を使用します。

Password:

ログインするユーザのパスワードのアドレスを指定します。
NULLを指定した場合は、省略値を使用します。

参照

アクション管理のAPI”を参照してください。

復帰値

0以上:

正常。

負の値:

エラー。

MPACT_PARAMERR:

パラメタエラーです。

パラメタに誤りがないかを確認してください。

MPACT_NOMEMORY:

メモリ不足です。

ページファイルのサイズを拡張するか、またはメモリを増設してください。

MPACT_NOTADDRESS:

有効なメールアドレスがありません。

あて先情報構造体(MpAddress)に指定した address に誤りがあります。正しいあて先名に変更してください。

MPACT_NOTMOVE:

アクション管理サーバが起動されていません。

サービス“Systemwalker MpAosfB”が起動されていることを確認してください。

MPACT_COMFAIL:

アクション管理サーバとの通信に失敗しました。

サービス“Systemwalker MpAosfB”、および“Systemwalker MpAosfX”が起動されていることを確認してください。

MPACT_SYSERR:

アクション管理サーバでエラーが発生しました。

イベントログ/syslogに出力されたメッセージを参照してエラーの原因を取り除いた後、Systemwalker Centric Managerを再起動してください。再現する場合は、保守情報収集ツールを使用して[イベント監視]の資料を採取した後、技術員に連絡してください。

MPACT_NOTDLL:【Windows版】

アクション要求用DLLがロードできません。

アクション管理に必要なファイルf3crhxac.dll(64bit版の場合はf3crhxac_64.dll)が、以下のフォルダにあるかどうかを確認してください。

Systemwalkerインストールディレクトリ\mpwalker\bin

ない場合は、Systemwalker Centric Managerを再インストールするか、または保守情報収集ツールを使用して[イベント監視]の資料を採取した後、技術員に連絡してください。

MPACT_EXCEPT:【Windows版】

不当な領域のアドレスが指定されました。

内部論理異常が発生しています。保守情報収集ツールを使用して資料を採取した後、技術員に連絡してください。保守情報収集ツールの使用方法については、“Systemwalker Centric Manager メッセージ説明書”の“保守情報の収集方法”を参照してください。

備考

API格納場所

アクション管理のAPI”を参照してください。

注意事項【Windows版】

Windows Server 2003 STD /Windows Server 2003 DTC/Windows Server 2003 EEなどOutlook Expressがインストールされている場合は、MS-mailの受信はできません。E-mailで実施してください。

使用例

MS-mail送信APIの使用例を以下に示します。

【Windows版】

#include "f3crhxac.h"

unsigned char *AppName = "MS-Mail送信API" ;       // 依頼元アプリケーション名
MpAddress addr[2] ;                               // 送信先アドレス格納域
int naddr ;
MpDataList data[2] ;
int ndata ;
unsigned char *Title    = "システム異常通知" ;     // メールタイトル
MpMMParam MailPrm = NULL ;                        // 省略値を使用
long lrc ;

addr[0].type = TYPE_ADDRESS ;                     // ユーザ operatorとuser01にメッ
addr[0].address = "operator" ;                    // セージを送信する
addr[1].type = TYPE_ADDRESS ; 
addr[1].address = "user01" ;
naddr = 2 ;

data[0].type   = TYPE_LMEMORY ;                                      // 送信データの設定
data[0].data   = "異常が発生しました。\r\n詳細は添付ファイルを参照してください。\r\n" ;
data[1].type   = TYPE_FILENAME ;
data[1].data   = "C:\\TEMP\\ERR001.LOG" ;
ndata = 2 ;

lrc = Mp_SendMSMail2(AppName,addr,naddr,data,ndata,Title,MailPrm,NULL) ;
if ( lrc < 0 ) {
    /* エラー処理 */
}

/* 正常終了 */

【UNIX版】

#include "f3crhxac.h"

unsigned char *AppName = "MS-Mail送信API" ;      // 依頼元アプリケーション名
MpAddress addr[2] ;                               // 送信先アドレス格納域
int naddr ;
MpDataList data[2] ;
int ndata ;
unsigned char *Title    = "システム異常通知" ;    // メールタイトル       
MpMMParam MailPrm = NULL ;                        // 省略値を使用
long lrc ;

addr[0].type = TYPE_ADDRESS ;                     // ユーザ operatorとuser01にメッ
addr[0].address = "operator" ;                    // セージを送信する
addr[1].type = TYPE_ADDRESS ;
addr[1].address = "user01" ;
naddr = 2 ;

data[0].type   = TYPE_LMEMORY ;                                      // 送信データの設定
data[0].data   = "異常が発生しました。\r\n詳細は添付ファイルを参照してください。\r\n" ;
data[1].type   = TYPE_FILENAME ;
data[1].data   = "/tmp/ERR001.LOG" ;
ndata = 2 ;

lrc = Mp_SendMSMail2(AppName,addr,naddr,data,ndata,Title,MailPrm,NULL) ;
if ( lrc < 0 ) {
    /* エラー処理 */
}

/* 正常終了 */