アドレスチェックして確認メッセージNo.11639
Micky さん 03/02/27 19:11
 
まいどお世話になります。

今日ミスってあるMLにそこには関係無い内容のメールを投げてしまいました。
その原因はアドレス帳のグループにそのMLが登録してあったのです。
勿論、自分で登録したのですが、全くその意識がなくMLから配信されてきて
初めて気がつきました。
グループ全員に送るメールであった為そのグループを選び、
「Toに追加」と言う操作を行いました。

自分の不注意から招いた結果なんですが、これを何とかチェック
できないかと思いました。

友人には多少ミスって送っても「ゴメンゴメン、ちょっと間違ったんで」で
許してもらえると思いますが(内容にも寄りますが)、MLは一度に
たくさんの人に配信されるので、送る前に確認メッセージが出せないかと。

会社の取引相手なんかも同じような事が言えるかなー。
あんまり多くなると無意識にOKしてしまう癖がつくので意味無いですが。

こんな設定って出来ないでしょうか?

□このアドレスに出すメールは確認
□このドメインに出すメールは確認

[ ]
RE:11639 アドレスチェックして確認メッセNo.11641
Mattz さん 03/02/27 20:04
 
Mattzです。
> □このアドレスに出すメールは確認

loaddll "tkinfo.dll";

$chkADR = "チェックしたいメールドレスやドメインを書く";
// ↑設定した文字列を含む場合に確認のダイアログが出ます。
$msg = "XX-ML宛てのメールです。\nこのまま送信しますか";
// ↑確認ダイアログのメッセージ。適宜書き換えてください。

#ToCount = dllfuncstr( "CountCurrentHeader", "To" );
#i = 0;
while( #i < #ToCount ){
    $ToADR = dllfuncstr( "CurrentHeader2", "To", #i );
    if( strstr( $ToADR, $chkADR ) >= 0 ){
        question( $msg );
        if( result == false ) {
            ##n = dllfunc("SetCancel", 1 );
            endmacro;
        }
        else break;
    }
}
endmacro;

こんなマクロを「後で送信/今すぐ送信時」に自動起動されるマク
ロに登録しておけばよいです。

[ ]
RE:11641 アドレスチェックして確認メッセNo.11647
Micky さん 03/02/28 09:01
 
まいどお世話になります。

Mattz さん write:

> こんなマクロを「後で送信/今すぐ送信時」に自動起動されるマク
> ロに登録しておけばよいです。
ありがとうございます。
鶴亀のマクロはさわった事なかったのですが、これを気に勉強してみます。
で、ちょっと追加して見ました。
1.別定義ファイルを用意し、複数アドレス指定できる。
2.ヒットした回数メッセージを出す。
3.メッセージにアドレスを入れる。
このくらいでしばらく使用してみようと思います。

P.S.
昔に秀丸であった二重Whileの問題って解決されたんですよね?
(今回二重While 書いてどうもうまく動かなかったんで、gotoにしたのですが、
単に書き方間違ってただけかもしれませんが。眠かったもんで。)


マクロここから−−−−

// あて先をチェックして警告を出す。
// Confirm.mac
loaddll "tkinfo.dll";

$Caution = "c:\\Program files\\Hidemaru\\CautionAddress.ini";// ロー
カルにあるアドレス/ドメインが記述されているファイル
if( ! existfile( $Caution ) ) {
beep;
message $Caution + " アドレス記述ファイルがありません";
endmacro;
}

// data read
#i = 1;
while( 1 )
{
$wk1 = getinistr($Caution,"address",str(#i));
//message str(#i) + " " + $wk1;
if ( $wk1 == "") break;
$chkADR[#i] = $wk1;
#i = #i + 1;
}
#AddressMax = #i;

// $chkADR = "チェックしたいメールドレスやドメインを書く";
// ↑設定した文字列を含む場合に確認のダイアログが出ます。

#ToCount = dllfunc( "CountCurrentHeader", "To" );
//message str(#ToCount);
#i = 0;
while( #i < #ToCount ){
$ToADR = dllfuncstr( "CurrentHeader2", "To", #i );
//message $ToADR;
#j = 1;
loop:
if( #j > #AddressMax ) endmacro;
//message str(#j) + " " + $chkADR[#j];
if( strstr( $ToADR, $chkADR[#j] ) >= 0 ){
question( "あて先に " + $chkADR[#j] + "が含まれてます。
\nこのまま送信しますか" );
if( result == false ) {
##n = dllfunc("SetCancel", 1 );
endmacro;
}
//else break;
}
#j = #j + 1;
goto loop;
}
endmacro;

マクロここまで−−−−

定義ファイルここから−−−−
// このファイルはメール警告用のファイルです。
[address]
1=xxxx@abc.def.ne.jp
2=xxxx@zzz.com
3=xxx@qwer.co.jp
4=
定義ファイルここまで−−−−

[ ]