アカウントをまたがった振り分けNo.12437
マイアミ さん 03/04/18 15:49
 
いつもありがとうございます。

アカウントをまたがってメールを振り分けられないでしょうか。

ABCD@xxx
EFGH@yyy
  フォルダ1
  フォルダ2
IJKL@zzz
  フォルダ3

というアカウントがある時に、ABCD@xxxに来たメールを振り分けでEFGH@yyyのフォル
ダ1やフォルダ2に振り分ける様な仕組みです。
EFGH@yyy、IJKL@zzz宛のメールはすべてABCD@xxxに転送しているので、別アカウント
に振り分けできるようになると返信メールの作成が簡単になるかなと思いました。

[ ]
RE:12437 アカウントをまたがった振り分けNo.12438
秀まるお2 さん 03/04/18 16:42
 
 以前から要望されつつも対応が困難なので、とりあえず、アカウント毎の設定
に、「メールのバイパス」というのが追加されました。

 それを使うと、受信したメールを全部別のアカウントで受信したかのように扱
うことが出来ます。

 この機能を使って、2つのアカウントで受信するメールを全部1つのアカウン
トに統合してしまい、どうしてもアカウント毎に分ける必要がある場合は、
X-Account:ヘッダを使って振り分けさせる作戦が使えると思います。

[ ]
RE:12438 アカウントをまたがった振り分けNo.12454
マイアミ さん 03/04/19 22:51
 
こんな設定があったとは。ヘルプで見つけられなかった…。
これはこれで便利そうですね。でも残念ながら少し違うのです。教
えていただいたのにごめんなさい。

ABCD@xxxのアカウントは他のすべてのアカウントからの転送受信に
しか使わないのです。前に質問させていただいたシンクロにも関連
しているのですが、すべてのメールを管理する常時接続マシンを置
きまして、そちらのABCD@xxxに他のマシンからも受信した全メール
(以前教えていただいたBCCでの送信メールも含む)を保管しようと
しています。
以前に自分で受信の時は、片方からのみ削除するとか書いておきな
がら、やはりミスで削除してしまったり二重受信してしまったりと
かでなかなか受信メールも完全に同期できずにいます。

アカウントをまたがる振り分けができると、メール管理マシンと外
出用のノートと同じアカウント・フォルダ構成がとれ、何かと便利
そうです。現況ではフォルダ階層が一つずれるのと、管理マシンか
らのメール作成時に少々面倒かなって思い要望にあげました。

他の方も要望であげておられるようなので、実装されるのを気長に
待つことにします。それまではABCD@xxxの下にそれぞれのアカウン
トのフォルダを作りそれを更に振り分けさせるようにします。

でも以前教えていただいたシンクロの件でいろいろと楽しくて便利
な発想が生まれました。ほんとにありがとうございます。強力なツ
ールはやはりすばらしいです。

[ ]
RE:12454 アカウントをまたがった振り分けNo.12459
秀まるお2 さん 03/04/19 23:37
 
 過去の要望を総合して、作る側の都合も考えて出来たのが「アカウント毎の設
定・メールのバイパス」なので、今後、振り分け設定としてのアカウントをまた
がる動作はサポートされる可能性は非常に低いです。

 技術的に難しい問題、つまり、フォルダ名が変更されたり移動したりした時の
振り分け設定の自動書き換えの問題があるので、困難です。

[ ]
RE:12459 アカウントをまたがった振り分けNo.12478
マイアミ さん 03/04/21 12:33
 
ほんとにいつもありがとうございます。

技術的に難しくて他の所に問題が出るようでしたら仕方ないです。

私は技術はXなのでめちゃくちゃな事を言っているかも知れませんが、バイパ
スの所で条件を設けて移動、の様な事も難しいのですか?現況では無条件にバ
イパスしている所を、適当な条件をつけてバイパスするというようなことです。
条件はそんなに高度なものではなくて、ToヘッダとかFromヘッダくらいで行い、それ
以上の振り分けは振り分け先のアカウントで行う事を前提にするようなバイパス設定
です。条件もfilter.txtみたいなbypass.txtで設定しておき、複数の条件が必要な人
はそれを編集みたいな感じで。
単純に管理で使いたいだけなので、X-Account:ヘッダなんかももちろんそのままで構
いません。

でも多分私が言っているのは、結局はアカウントまたがりの振り分けと同じ事
なのかな。

変な要望ばかりですみません。

[ ]
RE:12478 アカウントをまたがった振り分けNo.12479
秀まるお2 さん 03/04/21 13:41
 
 振り分け設定は振り分け設定で、それなりに統制の取れた形で存在してないと、
使う側が混乱すると思います。

 とにかく他にも多数の要望が溜まってるし、鶴亀メール自体不安定なまま放置
する訳にもいかないし、いろいろ総合して、今回の要望は却下です。

[ ]
RE:12479 アカウントをまたがった振り分けNo.12481
マイアミ さん 03/04/21 16:03
 
とりあえずアカウントの集約アカウントの下に、別の
アカウントのフォルダを作って対応するようにします。

作者に直に声が届くソフトって、そうはないのでつい
いろいろ要望してしまいました。ご気分を害されたな
ら申し訳ありませんでした。

現在のリリースが安定版となって、作者様に余裕が
できたときにでもまたご検討下さい。

ありがとうございました。

[ ]
RE:12481 アカウントをまたがった振り分けNo.12482
たまがわ さん 03/04/21 16:42
 
マイアミさん、こんにちは。

 もしマクロを利用することで差し支えない場合には、以下のマクロを「受信が一段
落した時」に自動実行するようにして、試してみてください。

 このマクロは、Aというアカウントに受信したメールのうち、To か Cc に指定し
たアドレスがあるメールについて、アカウントの移し替えをするものです。このアド
レスならBへ、あのアドレスならCへ、という具合です。
 マクロの冒頭部分のアカウント名やアドレスは、自分のものにあわせて直してくだ
さいね。
 BやCの中における振り分け設定は、有効に機能すると思います。

// アカウントAで受信したメールを、アカウントBとアカウントCに
// 振り分けるマクロ (furiwake.mac)

$account_A = "plala";                        // 振り分け元A(アカウント名)
$account_B = "nifty";                        // 振り分け先B(アカウント名)
$account_C = "biglobe";                      // 振り分け先C(アカウント名)
$address_AtoB = "******@nifty.com";          // Bへの振り分け条件(メールア
ドレス)
$address_AtoC = "******@***.biglobe.ne.jp";  // Cへの振り分け条件(メールア
ドレス)

loaddll "tkinfo.dll";
#n = dllfunc("DisableDraw");
$Path_B = dllfuncstr("HomeDir") + $account_B + "_1.bin";
$Path_C = dllfuncstr("HomeDir") + $account_C + "_2.bin";
$account = dllfuncstr("CurrentAccount");  $folder = dllfuncstr("CurrentFolde
r");
while (dllfunc("SelectRecvMail")) {
    if (dllfuncstr("CurrentAccount") == $account_A) {
        $ToCc = dllfuncstr("CurrentHeader", "To") + dllfuncstr("CurrentHeade
r", "Cc");
        if (strstr($ToCc, $address_AtoB) != -1) call EXPORT $Path_B;
        else if (strstr($ToCc, $address_AtoC) != -1) call EXPORT $Path_C;
    }
}
if (existfile($Path_B)) call IMPORT $account_B, $Path_B;
if (existfile($Path_C)) call IMPORT $account_C, $Path_C;
#n = dllfunc("SelectFolder", $account, $folder);
#n = dllfunc("EnableDraw");
endmacro;

EXPORT:
    #n = dllfunc("Export", $$1, "period", "log", "", "append");
    #n = dllfunc("Move", "", "ゴミ箱");  //元のメールを完全に削除する場合 #n
 = dllfunc("Delete", 1);
    return;

IMPORT:
    #n = dllfunc("SelectFolder", $$1, "");
    #n = dllfunc("Import", $$2, "period", "recv", "makelog");
//  #n = dllfunc("CheckDuplication", "batch");  //重複メールを自動削除したい
場合はこの行を生かす
    #n = dllfunc("Bypass_DeleteFile", $$2);
    return;

[ ]
RE:12482 アカウントをまたがった振り分けNo.12487
マイアミ さん 03/04/22 11:14
 
うわー、めちゃ感激です!!!
まさに望んでいる動作になりました。たまがわさん本当にありがとう
ございます。

ただ事前に受信メールがない場合、鶴亀の応答が返って来なくなり
ます。
マクロヘルプなんかもみたんですが、今の私の実力ではちんぷんかん
ぷんです…。もしお時間がございましたら、検証よろしくお願いします。


[ ]
RE:12487 アカウントをまたがった振り分けNo.12489
マイアミ さん 03/04/22 13:34
 
while文に入る前に、RecvMailCountが0ならマクロを
終了するようにしたら、うまく行っているようです。
振り分け先のアカウントは2つ以上あるので、それも
増やすように変更してみても、うまく行きました。

有用なマクロの公開、本当にありがとうございました。

[ ]
RE:12489 アカウントをまたがった振り分けNo.12490
たまがわ さん 03/04/22 15:03
 
マイアミさん、こんにちは。

> while文に入る前に、RecvMailCountが0ならマクロを
> 終了するようにしたら、うまく行っているようです。

 もし、
if (dllfunc("SelectRecvMail") == 0) endmacro;
while (dllfunc("SelectRecvMail")) {
    ……
}
というように直した場合は、メールを受信した時に、最初のメールを一つ取りこぼし
てしまうと思います。

 直すとすれば、
while (1) {
    if (dllfunc("SelectRecvMail") == 0) break;
    ……
}
というふうにした方がよいです。

 それにしてもどうして
> ただ事前に受信メールがない場合、鶴亀の応答が返って来なくなり
> ます。
ということになるのかなあ???
 念のため、最初の方にある「#n = dllfunc("DisableDraw");」と真ん中当たりにあ
る「#n = dllfunc("EnableDraw");」を消して試してみてください。

 ちなみに私の方の環境は、鶴亀2.69、Win XP Pro です。

[ ]
RE:12490 アカウントをまたがった振り分けNo.12491
マイアミ さん 03/04/22 16:02
 
たまがわさん、引き続きのフォローありがとうございます。

修正は
#n = dllfunc("RecvMailCount");
if (#n == 0) endmacro;
というようにしました。

今、テストしている環境はWin2000のSP2です。鶴亀は2.69です。
なぜか全く応答が返らなくなり、タスクマネージャーでも
応答なしで、そこから終了させなければならなくなるんです。

今のところ、上記の修正でとりこぼしもなさそうですが、
たまがわさんに教えていただいた修正もやってみます。


[ ]
RE:12490 アカウントをまたがった振り分けNo.12492
マイアミ さん 03/04/22 16:10
 
連続投稿すみません。

> 念のため、最初の方にある「#n = dllfunc("DisableDraw");」
>と真ん中当たりにある「#n = dllfunc("EnableDraw");」を消し
>て試してみてください。

でうまく行ったようです。でも何でだろう?

[ ]