アカウント越しの移動&転送No.25871
黄色いシャツ さん 06/01/11 20:47
 
今日は。黄色いシャツです。
次のようなことをしたいのですが、秀丸メールVer4.60で可能でしょうか?
(1)アカウントAに対して、ある特定のアドレスから送信されたメールをアカウン
トBの【イロハ】フォルダーへ移動
(2)このメールをxxx@def.co.jpとxxx@jkl.co.jp宛へ転送したい。

よろしくお願いいたします。

[ ]
RE:25871 アカウント越しの移動&転送No.25877
秀まるお2 さん 06/01/12 09:27
 
 秀丸メールでの振り分けではアカウントをまたがった移動は出来ないので、し
いてどうしてもってことならマクロでやるしか無いです。

 マクロでやるにしても、かなり難しい話になります。ちょっと今すぐぱっと作
るって訳にもいかないです。

 「アカウント毎の設定・上級者向け・メールのバイパス」でのメールのバイパ
ス相当の処理を振り分けでやるって風な機能拡張ならしてもいいかなぁと思った
りしますが。そういう拡張ネタで今度考えてみようかなぁと思います。

 拡張ネタといえば、やはりアドレス帳での備考欄をもっと増やしてくれという
話がまた届いてるので、備考欄を増やすってことも対応しようと思います。

[ ]
RE:25877 アカウント越しの移動&転送No.25881
黄色いシャツ さん 06/01/12 12:34
 
コメントありがとうございます。標準の機能にはないとのご回答ですので、手作業で
転送することにします。機能が拡張され、マクロ等を利用すれば可能になったときに
再考ということになるかと思います。
ありがとうございました。

[ ]
RE:25881 アカウント越しの移動&転送No.25885
秀まるお2 さん 06/01/12 13:02
 
 アカウントを変えずに「そのまま転送」ってだけなら、振り分けで出来ますけ
ど。

 ある程度自動化したいってことなら、例えば「別アカウントでそのまま転送し
たい」ってメール用のフォルダを、移動元/移動先アカウントの両方に作ってお
いて、そのフォルダ間で移動する処理と、「そのまま転送」をする処理だけマク
ロでってことなら出来ると思います。

 例えば、

    loaddll "tkinfo.dll";
    #n = dllfunc("SelectFolder", "移動元アカウント", "移動元フォルダ");
    #n = dllfunc("SelectAllMail");
    #n = sendmessage( hidemaruhandle(0), 0x0111, 40034, 0 );
    #n = dllfunc("Move", "移動先アカウント", "移動先フォルダ");
    #n = dllfunc("SelectFolder", "移動先アカウント", "移動先フォルダ");
    #n = dllfunc("SetViewArea", 2 );
    #n = dllfunc("SelectAllMail");
    #n = dllfunc("MakeResentForward", "sendlater", "");
    #n = sendmessage( hidemaruhandle(0), 0x0111, 40035, 0 );
    #n = dllfunc("SetViewArea", 0 );

 みたいなマクロでいいんじゃないかと思います。

 40034のコマンドは「選択してるメールを既読にする」で、40035は逆に未読に
するコマンドです。

[ ]
RE:25885 アカウント越しの移動&転送No.25902
黄色いシャツ さん 06/01/13 09:51
 
コメントありがとうございます。
早速試してみているところです。
>    #n = dllfunc("MakeResentForward", "sendlater", "");
第2パラメータが正しくないとアラーとが出ますが、どこがおかしいのでしょうか?

[ ]
RE:25902 アカウント越しの移動&転送No.25904
秀まるお2 さん 06/01/13 10:14
 
 すみません。MakeResentForwardでは、第1パラメータに宛先を指定しないと
いけないです。

    #n = dllfunc("MakeResentForward", "xxx@bbb.ccc", "sendlater", "");

 みたいに宛先を指定してやればうまくいくと思います。

[ ]
RE:25904 アカウント越しの移動&転送No.25907
黄色いシャツ さん 06/01/13 11:06
 
コメントありがとうございます。

>    #n = dllfunc("MakeResentForward", "xxx@bbb.ccc", "sendlater", "");
この部分はエラーを返さなくなりました。

>#n = dllfunc("Move", "社内メール", "社内転送用");
>#n = dllfunc("SelectFolder", "社内メール", "社内転送用");
この部分がうまく動いていないようで、
>#n = dllfunc("SelectFolder", "山田会社・山田", "社内転送用");
のフォルダーに転送用のメールが作られてしまっています。

[ ]
RE:25907 アカウント越しの移動&転送No.25911
秀まるお2 さん 06/01/13 12:58
 
 その、MoveとかSelectの部分は、黄色いシャツ様の所での具体的なアカウント
名/フォルダを指定してやらないとダメでして、それは僕には出来ません。

 例えば「テスト」アカウントの「受信」フォルダ配下の「あいうおえ」フォル
ダなら、

 "テスト", "受信\\あいうえお"

 みたいな指定になります。アカウント直下に作成した「あいうえお」フォルダ
なら、

 "テスト", "User\\あいうえお"

 みたいな指定になります。

    loaddll "tkinfo.dll";
    message "アカウント=" + dllfuncstr("CurrentAccount");
    message "フォルダ=" + dllfuncstr("CurrentFolder");

 みたいなマクロを実行すると、具体的にパラメータで指定すべきアカウント名
/フォルダ名が分かると思います。ただし、"\"は"\\"のように書かないとダメ
です。

[ ]
RE:25911 アカウント越しの移動&転送No.25928
黄色いシャツ さん 06/01/13 21:48
 
コメントありがとうございます。
>    loaddll "tkinfo.dll";
>    message "アカウント=" + dllfuncstr("CurrentAccount");
>    message "フォルダ=" + dllfuncstr("CurrentFolder");
これで表示されるフォルダーを設定しているのですが、なぜかメールが移動してくれ
ないのです…。

[ ]
RE:25928 アカウント越しの移動&転送No.25936
秀まるお2 さん 06/01/16 09:14
 
 とりあえず、マクロを、

    loaddll "tkinfo.dll";
    #n = dllfunc("Move", "アカウント名", "フォルダ名");

 みたいな簡単なものにしてみて、それを実行してたしかにメールが移動するか
どうか確認してみてはどうでしょ?

 それでダメなら、例えば

    loaddll "tkinfo.dll";
    #n = dllfunc("Move", "", "受信");

 のような超簡単なパターンにしてみれ、それでも移動しないかどうか試してみ
るとか。いろいろマクロをいじって、具体的に失敗している文はどこなのかって
ことを調べるしか無いような気がします。

 ちなみにですが、僕の所でMove関数を使ってメールを移動する簡単なテストを
したら、「アカウントをまたがって移動しようとしています。かまわずに移動し
てもいいですか?」のようなメッセージが出てきて、それに「はい」を押したら
うまく移動しました。

[ ]
RE:25936 アカウント越しの移動&転送No.26023
黄色いシャツ さん 06/01/19 06:12
 
たいへん返信が遅れてしまいました。<(_ _)>

フォルダー名のところが間違っておりました。
>"受信\\idou"
としましたところ、無事に解決いたしました。
ありがとうございました。

[ ]