To:とBCCの組み合わせで警告出したい:そNo.06370
cuma さん 03/02/22 16:59
 
秀まるお様、皆様毎度お世話様です。

表題のマクロを使用したく実験中です。
おかげさまでBCCに何らかのアドレスが設定されていれば
警告が出るようにはなったのですが、希望するアドレスが
BCCにある時だけ出す事がまだできておりません。
私のミスなのかもしれないのですが解決できずにおります。

もしかして私のやりたいことの表現が間違えていた可能性も
あるので今一度整理致しました。

警告したい条件以下のAND条件がそろった時です。

--------------------------------
・To:に特定アドレスがある
 例:sigoto@hi-ho.ne.jp

・BCC:に特定アドレスがある
 例:xxxxx@nifty.com

・特定のアカウントでだけ警告を出したい
 例:鶴亀上で5アカウントを管理してますが、警告を出す必要が
   あるのは特定のアカウントだけなのです。
--------------------------------

以上の3条件がANDでそろった時に警告したいのです。


どなたかアドバイスをお願い致します。
もし本掲示板での話題として不適切(すでに鶴亀への機能追加要望では
無くなってます)な場合は個別にメールを頂ければ幸いです。

xxxx@vanilla.freemail.ne.jp

[ ]
RE:06370 To:とBCCの組み合わせで警告出しNo.06372
たまがわ さん 03/02/22 22:13
 
 以下のようにして、「後で送信/今すぐ送信時」に登録したらどうでしょう。(秀
まるおさんのマクロを参考に作ってみました。なお、dllfunc("CountCurrentHeader",
"To")の数は見ていないので、もし必要なら追加してください(手抜きです))

//Bcc警告マクロ
loaddll "tkinfo.dll";
$WarnAccount = "aaaaa/bbbbb";
$WarnTo = "ccc@dddd/eee@ffff";
$WarnBcc = "ggg@hhhh/iii@jjjj";
if (strstr($WarnAccount, dllfuncstr("CurrentAccount")) == -1) endmacro;
$Bcc = dllfuncstr("CurrentHeader", "Bcc");
#NumberBcc = dllfunc("CountEmailList", $Bcc);
#i = 0;  #flag = 0;
while (#i < #NumberBcc) {
                $email = dllfuncstr("GetEmailList", $Bcc, #i);
                $email = dllfuncstr("SetEmailOnly", $email);
                $email = dllfuncstr("ToLower", $email);
                if (strstr($WarnBcc, $email) != -1) {
                        #flag = 1;
                        break;
                }
                #i = #i + 1;
}
if (#flag == 0) endmacro;
$To = dllfuncstr("CurrentHeader", "To");
#NumberTo = dllfunc("CountEmailList", $To);
#i = 0;  #flag = 0;
while (#i < #NumberTo) {
                $email = dllfuncstr("GetEmailList", $To, #i);
                $email = dllfuncstr("SetEmailOnly", $email);
                $email = dllfuncstr("ToLower", $email);
                if (strstr($WarnTo, $email) != -1) {
                        #flag = 1;
                        break;
                }
                #i = #i + 1;
}
if (#flag == 0) endmacro;
message "Bcc警告!!! 送信を取りやめます     ";
#n = dllfunc("SetCancel", 1);

[ ]
RE:06372 To:とBCCの組み合わせで警告出しNo.06373
cuma さん 03/02/22 22:27
 
cumaです。

たまがわ様、大成功です。おかげさまでパーフェスクとに欲しい機能が
実現出来ました。
これで単純ミス(しかし致命的な)が防止出来ます。
ありがとうございます。

PS
 いったん、たまがわ様の発言が削除されたようですが、何か違った
でしょうか?初版も順調に動いているのですが。

[ ]
RE:06373 To:とBCCの組み合わせで警告出しNo.06374
たまがわ さん 03/02/22 22:45
 
cumaさん、こんばんは。

>たまがわ様、大成功です。おかげさまでパーフェスクとに欲しい機能が
>実現出来ました。
 うまく動いたようで、良かったです。私も勉強になりました。

> いったん、たまがわ様の発言が削除されたようですが、何か違った
>でしょうか?初版も順調に動いているのですが。
 ちょっとした操作上の手違いがありまして・・・。内容はまったく同じですので、
お気になさらないでください。(^^)/

[ ]
RE:06374 To:とBCCの組み合わせで警告出しNo.06375
たまがわ さん 03/02/23 00:53
 
 このままだと包含関係にあるアカウント名やアドレスで誤警報が出るので、秀まる
おさんの例のように「/」で囲むようにすべきでした(たとえば、xxx@hoge.comのチ
ェックで、xxxxxx@hoge.comまで拾ってしまう)。以下、修正です。

$WarnAccount = "/aaaaa/bbbbb/";
$WarnTo = "/ccc@dddd/eee@ffff/";
$WarnBcc = "/ggg@hhhh/iii@jjjj/";
                        :
if (strstr($WarnAccount, "/"+dllfuncstr("CurrentAccount")+"/") == -1) endmacro;
                        :
                if (strstr($WarnBcc, "/"+$email+"/") != -1) {
:                      :
                if (strstr($WarnTo, "/"+$email+"/") != -1) {
                        :

[ ]
RE:06375 To:とBCCの組み合わせで警告出しNo.06536
cuma さん 03/03/23 05:53
 
たまがわさん、どうもです。
自分では全く何も問題なかったのですがありがとうございます。
マクロは奥深いですねえ。

> このままだと包含関係にあるアカウント名やアドレスで誤警報が出るので、秀まる
>おさんの例のように「/」で囲むようにすべきでした(たとえば、xxx@hoge.comのチ
>ェックで、xxxxxx@hoge.comまで拾ってしまう)。以下、修正です。
>
>$WarnAccount = "/aaaaa/bbbbb/";
>$WarnTo = "/ccc@dddd/eee@ffff/";
>$WarnBcc = "/ggg@hhhh/iii@jjjj/";
>                        :
>if (strstr($WarnAccount, "/"+dllfuncstr("CurrentAccount")+"/") == -1) endma
>cro;
>                        :
>                if (strstr($WarnBcc, "/"+$email+"/") != -1) {
>:                      :
>                if (strstr($WarnTo, "/"+$email+"/") != -1) {
>                        :

[ ]