# アラームメールを送信する

マニュアル > カスタマイズガイド > アラーム > # アラームメールを送信する |

概要

アラームサーバーアクションには、アラーム発生時にアラーム内容をメールで送信する機能が用意されています。

アラームのメール設定は下記の手順で行います。

1.アラームマスタに[MAIL]フィールドを追加し、メールの送信対象としたいアラーム行のMAILフィールドに送信条件のキーワードを設定する。

2.Panel Server側で、アラームサーバーアクションの「メール」タブに必要な設定を行う。

3.Panel Server側でイベントを作成し、アラームサーバーアクションのメール送信処理の呼び出しを定義する（パラメータに「MAIL」を指定する）。

4.メールマスタを作成し、メールマスターフォルダに格納する。

カスタマイズ例

１）アラームマスタの設定

まず、アラームマスタに[MAIL]フィールドの列を追加します。

アラームは発生、復帰、確認、変化と様々なタイミングがあります。どのタイミングでメールを送信したいかを[MAIL]フィールドに以下のキーワードを用いて設定します。

キーワード | メール送信のタイミング
all | すべてのタイミングでメールを送信する。
new | アラームが発生した時メールを送信する。
recover | アラームが復帰した時メールを送信する。
ack | アラームが確認された時メールを送信する。
change | アラームが変化した時（LOLOからLOに変化した等）メールを送信する。

複数のタイミングでメールを送信したい場合は、キーワードをスペース文字で区切りながら列挙します。例えばアラームが発生及び復帰したときメールを送信したい場合は、

「new recover」

と定義します。

反対に、メールを送信したくないアラームの場合は何も記述する必要はありません。

設定例）

アラームID,発生復帰,確認,発生条件,メール,コメント0,コメント1,コメント2 |
[ALARMID],[RECOVER],[ACK],[ONCONDITION],[MAIL],[CM0],[CM1],[CM2] |
0,n,n,U01.F01.M0000,new,M0が異常です。,Line1,1 | ←発生時のみ
1,n,n,U01.F01.M0001,new recover,M1が異常です。,Line1,1 | ←発生時／復帰時
2,n,y,U01.F01.M0002,,M2が異常です。,Line1,2 | ←送信対象外

２）アラームサーバーアクションのメールタブの設定

●メールマスターフォルダ

メールマスターファイルが入っているフォルダを設定します。

●メールキューサイズ

メールキューのサイズです。アラームが発生すると、いったんメールキューに保存されます。メールキューに保存されたアラームメールは、イベントでアラームサーバーアクションを実行（パラメータに「MAIL」を指定）したときに、メール送信がされます。アラームが同時に大量に発生した場合など、メールキューサイズを越えたアラームメールが作成された場合、古いものから破棄されます。

●複数のアラームが発生した場合、1個のメールにまとめて送る

メール送信の実行はイベントからアラームサーバーアクションを実行（パラメータに「MAIL」を指定）したときに行われますが、この設定によって、メールキューに複数のアラームメールが存在した場合に1つのメールにまとめて送信することができます。これにより、アラームが同時に大量に発生した場合などに大量のメールが送信されるのを防ぐことができます。

●メールサーバ（SMTP/POP3）

メールサーバー（SMTP/POP3）のアドレスとポート番号を指定します。

●アカウント名/パスワード

アカウント名及びパスワードです。

●認証方法

メール送信時の認証方法を選びます。メールサーバに合わせて設定してください。

●文字エンコード方式

文字のエンコード方式を選びます。メールサーバに合わせて設定してください。

●暗号化された接続（SSL）を行う

SSL接続したい場合にチェックします。

３）イベントでアラームサーバーアクションを実行（パラメータに「MAIL」を指定）

アラームメールを送信したい場合は、必ず、アラームメール送信用のイベントを新たに作成し、このイベントからアラームサーバーアクションを呼び出すように設定して下さい。その時、パラメータに「MAIL」を必ず指定します。このイベントが実行されるまでアラームメールはキューに保存され、実際のメール送信処理はイベントが実行された時に行われます。この時、「複数のアラームが発生した場合、1個のメールにまとめて送る」がチェックされていると、複数のアラームが発生している場合に1つのメールにまとめて送信されます。

登録するイベントの種類や周期の設定は、目的に応じて適切なタイミングのイベントを設定してください。例えば、アラーム発生後、１分以内程度でメール送信すればよいのであれば、定周期イベントで周期を１分に指定します。その１分の間に複数のアラームメールが発生した場合、「複数のアラームが発生した場合、1個のメールにまとめて送る」をチェックしておくと、１分以内に発生したすべてのアラームが１つのメールにまとめられて送信されます（※アラームが頻繁に発生した際に大量のメールが送られるのを避けるために、ある程度の時間内のアラームを１つのメールでまとめて送信されるように設定する事を推奨します）。

４）メールマスタの定義

メールマスタは、メールの送信先等の情報を定義するテキストファイルです。メモ帳などのテキストエディタで作成します。メールマスタのファイル名は自由であり、メールマスタ用に専用のフォルダを作成してこのフォルダ内に格納しておきます。メールマスタフォルダに入っているすべてのファイルが、メールマスタとして読み込まれて実行されます（メールマスタフォルダには、メールマスタファイルを格納する以外の目的で使用しないで下さい）。

メールマスターを複数ファイル作成してメールマスターフォルダに入れておくことで、複数の条件でメールを送信することもできます。例えば、グループ１は管理者へメールを送信し、グループ１と２は作業者へメールを送信するなど、様々な条件に応じたメール送信が可能です。

メールマスターのフォーマットは以下に示すとおりです。

[MailCondition] メール送信条件 [MailSubject] タイトル [MailSender] 送信者 [MailSendToName] 送信先1 送信先2 … (end) [MailSendToNameCC] 送信先(CC)1 送信先(CC)2 … (end) [MailSendToNameBCC] 送信先(BCC)1 送信先(BCC)2 … (end) [MailAttachedFile] 添付ファイル1 添付ファイル2 … (end) [MailHeader] メールヘッダ文字1行目 メールヘッダ文字2行目 … (end) [MailFooter] メールフッター文字1行目 メールフッター文字2行目 … (end) [MailCondition] メール送信条件 [MailSubject] タイトル [MailSender] 送信者 [MailSendToName] 送信先1 送信先2 … (end) [MailSendToNameCC] 送信先(CC)1 送信先(CC)2 … (end) [MailSendToNameBCC] 送信先(BCC)1 送信先(BCC)2 … (end) [MailAttachedFile] 添付ファイル1 添付ファイル2 … (end) [MailHeader] メールヘッダ文字1行目 メールヘッダ文字2行目 … (end) [MailFooter] メールフッター文字1行目 メールフッター文字2行目 … (end) [MailMessage] メールメッセージ1行目 メールメッセージ2行目 … (end)

設定項目 | 解説
[MailCondition] | メール送信条件を記述します。送信条件はフィールド名を使用して記述します。 例えば[CM0]がグループ番号をあらわすフィールドだとすると、グループ番号が10より大きいアラームのみ送信したい場合は、下記になります。 [MailCondition] [CM0] > 10 また、[CM1]が重要度をあらわすフィールドの場合、グループ番号が10より大きく、かつ重要度が1のもののみ送信したい場合は下記になります。 [MailCondition] [CM0] > 10 && [CM1] == 1 このメール送信条件は、複数のメールマスターを作成してそれぞれ条件により異なる送信先のグループにメールを送信したい場合などに使用します。メールマスターが１つのみ（つまり送信先が1つのみ）の場合は、アラームマスタの[MAIL]フィールドでアラーム毎に送信するかどうかの条件を指定できるため、このメール送信条件の設定は必要ありません。[MailCondition]になにも記述がないと、アラームマスタの[MAIL]フィールドで指定したすべてのアラームメールが送信されます。
[MailSubject] | メールのタイトル（件名）を指定します。タイトルには全角文字を使用できませんのでご注意下さい。 例） [MailSubject] Alarm mail
[MailSender] | メール送信者を指定します。 例） [MailSender] xxx@xxx.co.jp
[MailSendToName] | メール送信先を指定します。複数のメールアドレスに送信したい場合は、メールアドレスを下記のように列挙します。末尾は必ず(end)で終わらせます。 例） [MailSendToName] xxx1@xxx.co.jp xxx2@xxx.co.jp (end)
[MailSendToNameCC] | メール送信先(CC)を指定します。複数のメールアドレスに送信したい場合は、メールアドレスを下記のように列挙します。末尾は必ず(end)で終わらせます。 例） [MailSendToNameCC] xxx1@xxx.co.jp xxx2@xxx.co.jp (end)
[MailSendToNameBCC] | メール送信先(BCC)を指定します。複数のメールアドレスに送信したい場合は、メールアドレスを下記のように列挙します。末尾は必ず(end)で終わらせます。 例） [MailSendToNameBCC] xxx1@xxx.co.jp xxx2@xxx.co.jp (end)
[MailAttachedFile] | 添付したいファイル名を指定します。複数のファイルを添付したい場合は、ファイル名を下記のように列挙します。末尾は必ず(end)で終わらせます。 例） [MailAttachedFile] c:\xxx1.txt c:\xxx2.txt (end)
[MailHeader] | メールのヘッダ文章を指定します。メールの文章の先頭にヘッダ文章が付加されます。末尾は必ず(end)で終わらせます。 例） [MailHeader] ****************************************** *********** Alarm Mail *********** ****************************************** (end)
[MailFooter] | メールのフッター文章を指定します。メールの文章の末尾にフッター文章が付加されます。末尾は必ず(end)で終わらせます。 例） [MailFooter] ****************************************** ** 緊急連絡先 xxx-xxx-xxxx ** ****************************************** (end)
[MailMessage] | メールの文章を指定します。フィールド名を使用して式で記述します。文字は下記のように&で連結させます。数値型のフィールドは、「CStr([xxx])」とすることにより文字列に変換してください。末尾は必ず(end)で終わらせます。 例） [MailMessage] "■" & [DATESTR:%Y/%m/%d %H:%M:%S] [TYPEJP] & "," & [ALARMID] & "," & [CM0] & "," & [CM1] & [CM2] (end) ※上記例の結果は下記のようになります。 ■2005/11/01 16:08:42 発生,0,M0が異常です。,Line11 また、条件によりメッセージを変えたい場合には、下記のように「演算式構文」（「スクリプトマニュアル」「演算式構文」を参照）で記述することもできます。「演算式構文」を使用する場合はすべてを1行で記述する必要があります。もし、文章中に改行が必要な場合は下記のようにRET()を間に含めることで改行を指定できます。 例） [MailMessage] {[TYPE] == "new"}{"■" & [DATESTR:%Y/%m/%d %H:%M:%S] & " AlarmID:" & [AlarmID] & RET() & [CM0]},{[TYPE] == "recover"}{"■" & [DATESTR:%Y/%m/%d %H:%M:%S] & " AlarmID:" & [AlarmID] & RET() & [CM1]},{default}{"■" & [DATESTR:%Y/%m/%d %H:%M:%S] & " AlarmID:" & [AlarmID] & RET() & "状態が変化しました。"} (end)

参考）メールマスタの設定例

設定例１）

[MailCondition] [MailSubject] Alarm1 [MailSender] xxx@xxx.co.jp [MailSendToName] xxx@xxx.co.jp (end) [MailSendToNameCC] (end) [MailSendToNameBCC] (end) [MailAttachedFile] (end) [MailHeader] *************** ** Alarm Mail1 ** *************** (end) [MailFooter] ************** TEL:xxx-xxx-xxx ************** (end) [MailMessage] "■" & [DATESTR:%Y/%m/%d %H:%M:%S] [TYPEJP] & "," & [ALARMID] & "," & [CM0] & "," & [CM1] & [CM2] (end)

設定例２）

[MailCondition] [MailSubject] Alarm2 [MailSender] xxx@xxx.co.jp [MailSendToName] xxx@xxx.co.jp (end) [MailSendToNameCC] (end) [MailSendToNameBCC] (end) [MailHeader] *************** ** Alarm Mail2 ** *************** (end) [MailFooter] ************** TEL:xxx-xxx-xxx ************** (end) [MailMessage] {[TYPE] == "new"}{"■" & [DATESTR:%Y/%m/%d %H:%M:%S] & " AlarmID:" & [AlarmID] & RET() & [CM0]},{[TYPE] == "recover"}{"■" & [DATESTR:%Y/%m/%d %H:%M:%S] & " AlarmID:" & [AlarmID] & RET() & "状態が復帰しました。"},{default}{"■" & [DATESTR:%Y/%m/%d %H:%M:%S] & " AlarmID:" & [AlarmID] & RET() & "状態が変化しました。"} (end)