機能説明
MS-mailの送信を要求します。
呼び出し形式
long Mp_SendMSMail2(unsigned char *AppName,MpAddress *AddressList, int nAddressList,MpDataList *MailData, int nMailData,unsigned char *MailTitle, MpMMParam *MMailParam,char *exehost)
パラメタ
呼び出し元のアプリケーション名のアドレスを指定します。
アプリケーション名は64バイト以内で指定します。
あて先情報構造体(MpAddress)のアドレスを指定します。
メールを送信するユーザ名を指定します。
複数指定する場合は、配列で指定します。
AddressListに指定した配列数を指定します。
メール送信データ情報構造体(MpDataList)のアドレスを指定します。複数のデータを送信する場合は、配列で指定します。
MailDataに指定した配列数を指定します。
メールのタイトルを指定します。
メール送信管理情報構造体(MpMMParam)のアドレスを指定します。
メールを送信するための情報を指定します。
NULLの場合、各項目の省略値を使用します。
アクションを実行するホスト名(アクション実行を選択したクライアント)のアドレスを指定します。
NULLを指定した場合は、[アクション環境設定]ウィンドウで指定したホストでアクションが実行されます。
構造体の説明
あて先情報構造体(MpAddress)の形式
typedef struct MpAddress_tag { int type ; unsigned char *address ; char *addrid ; } MpAddress ;
addressに指定したアドレスの種別を指定します。
送信先のメールアドレスです。
あて先名です。
メールアドレスまたはあて先名のアドレスを指定します。
TYPE_NAMEを指定した場合に、あて先名に対応する利用者管理の利用者コードのアドレスを指定します。
メール送信データ情報構造体(MpDataList)の形式
typedef struct MpDataList_tag { int type ; unsigned char *data ; } MpDataList ;
dataに指定するデータの種別を指定します。
メモリデータです。
ファイル名です。
ファイル名(メール送信が正常終了した後、アクション管理がファイルを削除する)です。
TYPE_LMEMORYの場合は、1028バイト以内で指定したメモリデータのアドレスを指定します。
TYPE_FILENAME、およびTYPE_TEMPFILEの場合は、260バイト以内で指定したファイル名のアドレスを指定します。
なお、ファイルはexehostで指定したホストに存在するものを指定してください。
メール送信管理情報構造体(MpMMParam)の形式
typedef struct MpMMParam_tag { char *Profile ; char *Password ; } MpMMParam ;
ログインするユーザ名のアドレスを指定します。
NULLを指定した場合は、省略値を使用します。
ログインするユーザのパスワードのアドレスを指定します。
NULLを指定した場合は、省略値を使用します。
参照
“アクション管理のAPI”を参照してください。
復帰値
正常。
エラー。
パラメタエラーです。
パラメタに誤りがないかを確認してください。
メモリ不足です。
ページファイルのサイズを拡張するか、またはメモリを増設してください。
有効なメールアドレスがありません。
あて先情報構造体(MpAddress)に指定した address に誤りがあります。正しいあて先名に変更してください。
アクション管理サーバが起動されていません。
サービス“Systemwalker MpAosfB”が起動されていることを確認してください。
アクション管理サーバとの通信に失敗しました。
サービス“Systemwalker MpAosfB”、および“Systemwalker MpAosfX”が起動されていることを確認してください。
アクション管理サーバでエラーが発生しました。
イベントログ/syslogに出力されたメッセージを参照してエラーの原因を取り除いた後、Systemwalker Centric Managerを再起動してください。再現する場合は、保守情報収集ツールを使用して[イベント監視]の資料を採取した後、技術員に連絡してください。
アクション要求用DLLがロードできません。
アクション管理に必要なファイルf3crhxac.dll(64bit版の場合はf3crhxac_64.dll)が、以下のフォルダにあるかどうかを確認してください。
Systemwalkerインストールディレクトリ\mpwalker\bin
ない場合は、Systemwalker Centric Managerを再インストールするか、または保守情報収集ツールを使用して[イベント監視]の資料を採取した後、技術員に連絡してください。
不当な領域のアドレスが指定されました。
内部論理異常が発生しています。保守情報収集ツールを使用して資料を採取した後、技術員に連絡してください。保守情報収集ツールの使用方法については、“Systemwalker Centric Manager メッセージ説明書”の“保守情報の収集方法”を参照してください。
備考
メールデータにメモリデータは1つ指定可能。
また、メモリデータは配列の先頭に指定します。
メモリデータがない場合は、すべて添付ファイルとして送信します。
メモリデータは、'\0'で終了させます。
改行は、CR(0x0d)+LF(0x0a)のコードで行います。
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 ) { /* エラー処理 */ } /* 正常終了 */