Systemwalker Centric Manager API・スクリプトガイド - UNIX/Windows(R)共通 -
目次 索引 前ページ次ページ

第2部 API> 第4章 APIリファレンス

4.41 Mp_SendEMail2()関数

■機能説明

E-Mailの送信を要求します。

■呼び出し形式

  
long Mp_SendEMail(unsigned char *AppName,MpAddress *AddressList,
int nAddressList,MpDataList *MailData, int nMailData,
char *FromAddress,unsigned char *MailTitle char *SMTPServer,
char *sCommand,int fAppendFileDelete)

■パラメタ

AppName:
呼び出し元のアプリケーション名のアドレスを指定します。
アプリケーション名は64バイト以内で指定します。
AddressList:
あて先情報構造体(MpAddress)のアドレスを指定します。
複数指定する場合は、配列で指定します。
nAddressList:
AddressListに指定したアドレスの数(配列数)を指定します。
MailData:
メール送信データ情報構造体(MpDataList)のアドレスを指定します。複数のデータを送信する場合は、配列で指定します。
nMailData:
MailDataに指定した配列数を指定します。
FromAddress:
メール送信元のメールアドレスを指定します。
NULLを指定した場合は、省略値を使用します。
MailTitle:
メールのタイトルを指定します。
SMTPServer:
SMTPサーバ名を指定します。
NULLを指定した場合は、省略値を使用します。
sCommand:
送信する前に実行するコマンド(フルパス、オプションを含む文字列)を指定します。
NULLを指定した場合は、コマンドを実行しません。
fAppendFileDelete:
メール送信後、添付ファイルを削除する場合に、“1”を指定します。

■構造体の説明

◆宛先情報構造体(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バイト以内で送信するファイル名を指定します。
送信するファイル名は、“:”で区切って30個まで指定できます。

■参照

アクション管理の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 メッセージ説明書”の“保守情報の収集方法”を参照してください。

MPACT_ ACCESSERR:
指定されたファイルには必要なアクセス権がありません。
送信するファイルのアクセス権(読み込み権)の有無を確認し、読み込みが可能な状態にしてください。

■API格納場所

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

■備考

■使用例

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

【Windows版】


#include "f3crhxac.h"

unsigned char *AppName = "E-Mail送信API" ; // 依頼元アプリケーション名
unsigned char *CmdName = "C:\\GetLog.bat" ; // 送信前実行コマンド名
MpAddress addr[2] ; // 送信先アドレス格納域
int naddr ;
MpDataList data[2] ;
int ndata;
char *FromAddr = "Systemwalker@fujitsu.co.jp" ; // 送信先アドレス
unsigned char *Title = "System Report" ; // メールタイトル
char *SMTPSrv = NULL ; // 省略値を使用
long lrc ;

addr[0].type = TYPE_ADDRESS ; // ユーザ operatorとuser01に
addr[0].address = "operator@fujitsu.co.jp" ; // メッセージを送信する
addr[1].type = TYPE_ADDRESS ;
addr[1].address = "user01 @fujitsu.co.jp" ;
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_SendEMail2(AppName,addr,naddr,data,ndata,FromAddr,Title,SMTPSrv,CmdName,1) ;
if ( lrc < 0 ) {
/* エラー処理 */
}

/* 正常終了 */

【UNIX版】


#include "f3crhxac.h"

unsigned char *AppName = "E-Mail送信API" ; // 依頼元アプリケーション名
unsigned char *CmdName = "/GetLog.sh" ; // 送信前実行コマンド名
MpAddress addr[2] ; // 送信先アドレス格納域
int naddr ;
MpDataList data[2] ;
int ndata;
char *FromAddr = "Systemwalker@fujitsu.co.jp" ; // 送信先アドレス
unsigned char *Title = "System Report" ; // メールタイトル
char *SMTPSrv = NULL ; // 省略値を使用
long lrc ;

addr[0].type = TYPE_ADDRESS ; // ユーザ operatorとuser01に
addr[0].address = "operator@fujitsu.co.jp" ; // メッセージを送信する
addr[1].type = TYPE_ADDRESS ;
addr[1].address = "user01 @fujitsu.co.jp" ;
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_SendEMail2(AppName,addr,naddr,data,ndata,FromAddr,Title,SMTPSrv,CmdName,1) ;
if ( lrc < 0 ) {
/* エラー処理 */
}

/* 正常終了 */

目次 索引 前ページ次ページ

Copyright FUJITSU LIMITED 1995-2008