HOME 戻る
前節の「プログラムのインストールと試験メールの送信」が成功した方は、もう少々メールする内容を増やしてみます。
前回は、メール本文1行のみでしたのでこれを複数行にします。
同時に監視画面や計測トレンド画面の画像をメールに添付してみます。
警報(異常)発生時の監視画面や計測トレンド画面を送れば証拠として残りますので何かの役にたつかもしれません。
ここで使用するプログラムも前回同様にKARACRIXホームページよりダウンロード出来ます。
「複合メール送信・テストプログラム」とタイトル付された、
kcx_onemail_2_euc.pgc あるいは kcx_onemail_2_utf8.pgc を使用してください。
そして、プログラムの中身は下記の通りです。
. . . 少々複雑になりましたでしょうか?
増えたのは、C言語固有の文法でバッファメモリ領域を作りそこにデータをコピーしているだけです。
C言語入門書籍の前半部を勉強されれば何をしているのかが分かって来るようになります。
プログラムがただ使えれば良いと思う方は、下記書式を維持しデータのみ変更してください。
以下のプログラムでは、
メールアドレスに、 「xxx@xxx.jp」 が、
メールタイトルに、 「緊急メール(Emergency2)」 が、
メール本文に、「助けてくれ〜1行目」と「助けてくれ〜2行目」 の2行が指定されています。
添付ファイルとして、ここでは監視画面番号14と計測トレンド画面番号9を指定しています。
プログラム変数 MN は本文行数を、AN は添付ファイル数を数え、これをメール送信関数に与えています。
設定できる最大の本文行数は 100、添付ファイル数は、4 に関数仕様制限されています。
添付ファイルを指定するフォーマットは以下の通りです。
監視画面の場合、 mon + 画面(行)番号
トレンド画面の場合、 mtre + 画面(行)番号
#include <karacrix.h>
#define MAILTEXTMAXs (100)
#define MAILTEXTLENs (64)
#define APPENDMAXs (4)
main(argc,argv)
int argc;
char *argv[];
{
int i,MN,AN;
char email_addr[64];
char subject [64];
char *mtext[MAILTEXTMAXs];
char *afile[APPENDMAXs];
kcxinit( argc, argv );
for(i=0;i<MAILTEXTMAXs;i++) mtext[i] = (char *)malloc(1+MAILTEXTLENs);
for(i=0;i<APPENDMAXs;i++ ) afile[i] = (char *)malloc(1+MAILTEXTLENs);
strcpy( email_addr, "xxx@xxx.jp" ); /* メール先アドレス */
strcpy( subject, "緊急メール(Emergency2)" ); /* メールタイトル */
MN = AN = 0;
strcpy( mtext[MN++], "助けてくれ〜1行目" ); /* メール本文(1行) */
strcpy( mtext[MN++], "助けてくれ〜2行目" ); /* メール本文(2行) */
strcpy( afile[AN++], "mon 14" ); /* 監視画面番号14画像添付 */
strcpy( afile[AN++], "mtre 9" ); /* 計測トレンド画面番号9画像添付 */
kcxsnd_email_texts_appends( email_addr,"","",subject,mtext,MN,afile,AN);
}
では、前回同様、
1. プログラムをダウンロード
2. メール宛先を gedit 等使い変更
3. KaracrixBuilder にインポート
4. コンパイル
5. 実行
を行ってください。
下記画面は、送られて来たメールの内容を示しています。
お使いのメーラソフトによって表現が異ると思いますが推察読替えてください。
(1)タイトル名です。
(2)メール本文です。
(3)の部分は、添付ファイルに関する情報でメール送信関数(kcxsnd_email_texts_appends)によって自動的に付加されたものです。
監視あるいは計測トレンド画面で登録した番号とその名称及び添付画像ファイル名の一覧が表示されています。
添付画像ファイル名の付け方には以下のような規則があります。
tYYYYMMDDhhmmss_monNN.png (監視画像の場合)
tYYYYMMDDhhmmss_mtreNN.png (計測トレンド画像の場合)
年=YYYY 月=MM 日=DD 時=hh 分=mm 秒=ss 画面(行)番号=NN
#属性は、PNG形式(デフォルト)の場合png、JPEG形式の場合jpgです。
![](/image/c5-kb-esnd30.png)
添付されていた監視画像を見てみます。
監視画面CADで作ったモニタ画面にメール発信時のポイント状態値が反映している例です。
イメージファイルは、1016 x 668 ドットの解像度で送られて来ます。
![](/image/c5-kb-esnd31.png)
添付されていた計測トレンド画像を見てみます。
メール発信時のグラフの様子を示す例です。
イメージファイルは、グラフ登録ポイント数とグラフサイズ(L)の設定により異りますが、
1048(グラフ有効面は932) x 290 〜 1448 x 600 ドット解像度の範囲内で送られて来ます。
※画面の色は、KaracrixBuilder 上で予め設定しておきます。
![](/image/c5-kb-esnd32.png)
HOME 戻る