|
皆様お世話になります。皆様の暖かいアドバイスで、かなり実装できました。
最終段階として、iniファイルにあるメールアドレスと、受信した新規メールの
メールアドレスの比較でつまずきました。またまたで、申し訳ないのですが、ア
ドバイスお願い致します。
Iranoan さんより
if( getininum( $ini, $sec, $$From ) ) call SendMail;
このような書式を提案頂きました。早速、iniファイルを下記のように作成しま
した。
[Addr]
*****1@*****.ne.jp
*****2@*****.ne.jp
*****3@*****.ne.jp
*****4@*****.ne.jp
そして、上記 if 文を実行しましたが、iniファイルにメールアドレスがあるの
に、サブルーチンコールが実行されませんでした。ここが出来れば、ほぼ完成に
なると思います。以下に作成した全マクロを示しますので、
なぜ
if( getininum( $ini, $sec, $$From ) ) call SendMail;
が実行できないのか、iniファイルの書式は有っているのか、アドバイス頂けた
ら幸いです。
[Addr1]
*****1@*****.ne.jp
[Addr2]
*****2@*****.ne.jp
のように書いてループで回して判定しないとダメなのかな?iniファイル自体が
理解出来てない状態です。
//---------------------------------------------------------
// 受信毎にマクロ起動するので、$Flag でマクロ起動を制御する
//---------------------------------------------------------
// $Flag = "";
$Flag = "自動送信ON";
if ( $Flag == "" ) endmacro;
//---------------------------------------------------------
// getininum 関数用の設定
//---------------------------------------------------------
$Dir = "E:\\TuruKameData\\AutoReplay\\";
$ini = $Dir + "Addr.ini";
$sec = "Addr";
$a = "From";
//----------------------------------------------------------
// 自動返信メール生成用の設定
//----------------------------------------------------------
//ここを書き換える事で、Subroutine内で$Subject+".txt"を読み
//込む作りにする
//----------------------------------------------------------
$Subject = "外出中です";
//$Subject = "睡眠中です";
//$Subjecy = "来客中です";
//$Subject = "食事中です";
//$Subject = "離席中です";
//$Subject = "通院中です";
//----------------------------------------------------------
// メインルーチン
//----------------------------------------------------------
loaddll "tkinfo.dll";
$From = ""; // 安全の為入れておく
while( dllfunc( "SelectRecvMail" ) ) {
$From = dllfuncstr( "CurrentHeader" , "From");
}
if ( $From == "" ) endmacro;
$From = dllfuncstr( "SetEmailOnly" , $From );
if( getininum( $ini, $sec, $$From ) ) call SendMail;
endmacro;
//----------------------------------------------------------------
// サブルーチン
//----------------------------------------------------------------
// 指定したFrom:が有った場合、文面及び To: , From をセットして送信
//----------------------------------------------------------------
SendMail:
//#n = dllfunc( "SetQuietMode" , 1 ); ←最終的に完成したら入れる事
#n = dllfunc( "NewMail" );
#n = dllfunc( "SetHeader" , "To" , $From );
#n = dllfunc( "SetHeader" , "Subject" , $Subject);
gofiletop;
beginsel;
gofileend;
delete;
insertfile $Dir+$Subject+".txt";
#n = dllfunc("SendNow");
#n = dllfunc( "SetQuietMode" , 0 );
return;
|
|