フリーメールのスポンサー欄を消す方法No.21612
じゅげむ さん 05/02/05 13:48
 
(改行を入れ忘れてましたので、投稿し直しました。)

フリーメールやフリーのメーリングリストでは、メール本文の末尾にス
ポンサーの広告やリンクが入っていますが、これを消すマクロとか機能
などはないものでしょか。

たとえば、ヤフーグループのメーリングリストのメールの場合、

------------------------ Yahoo! Groups Sponsor ---------------------~-->

という行より下は、スポンサーの広告なので、この文字列のある行から
下は削除するという設定にすれば、すっきりします。
送信メールにスポンサー欄が入ることは防ぎようがありませんが、せめ
て、受信したメールのスポンサー欄を消すことができれば、と思います。
よろしくお願いします。
 
 

[ ]
RE:21612 フリーメールのスポンサー欄を消No.21613
山紫水明 さん 05/02/06 08:51
 
 じゅげむさん,こんにちは。

>フリーメールやフリーのメーリングリストでは、メール本文の末尾にス
>ポンサーの広告やリンクが入っていますが、これを消すマクロとか機能
>などはないものでしょか。

 次のマクロでフォルダ内の処理はできると思います。

//-----------------------------------------------------------//
//フォルダ内処理
//一覧の最初のメールを選んで開始

$line = "- Yahoo! Groups Sponsor";//ここで目印となる語を指定
loaddll "tkinfo.dll";
#n = dllfunc("SetFindPack", "(\"" + $line + "\", target=body), inmail=0" );
while( 1 ) {
    #n = dllfunc("FindDownInclude");
    if( #n != 0 ) {
        call Delete;
        question "続けますか?";    //この2行不要なら
        if( result == no ) break;   //コメントに
    } else break;
}
message "終わりました。";
endmacro;

Delete:
moveto 0, -1;
#n = dllfunc("BeginEditMail");
#readonly = readonly;
#browsemode = browsemode;
if( #readonly ) readonlyswitch;
if( #browsemode ) browsemodeswitch;
searchdown $line;
golinetop2;
beginsel;
gofileend;
delete;
#n = dllfunc("SaveEditMail", 0, 1 );
if( #readonly ) readonlyswitch;
if( #browsemode ) browsemodeswitch;
return;
//-----------------------------------------------------------//

 この種のマクロはかなり危険ですので,フォルダごとコピーしてそのフォルダ
で十分テストしてください。
 対象をアカウント全体や全アカウントにすることも可能ですが,フォルダごと
に処理した方が無難でしょう。
 受信後の自動実行マクロに組み込むこともできないことはないと思いますが,
いろいろ問題がありますので,これで試してください。

     では, (^^)/~
                                        山紫水明(ユーザー)
                                        SANSHISUIMEI

[ ]
RE:21613 フリーメールのスポンサー欄を消No.21616
じゅげむ さん 05/02/06 16:52
 
山紫水明さん

こんなに早くにありがとうございます。
早速使ってみましたが、完璧でした。
受信後の自動実行マクロに組み込めればとも思いますが、たしかにいろいろ問題があ
りそうですね。

ところで、数種のフリーメールで使い分ける場合には、マクロファイルを複数作って
別々に実行するという方法が一番簡単ということになるのでしょうか。

じゅげむ

[ ]
RE:21616 フリーメールのスポンサー欄を消No.21617
山紫水明 さん 05/02/06 18:25
 
 じゅげむさん,こんにちは。

>ところで、数種のフリーメールで使い分ける場合には、マクロファイルを複数
>作って別々に実行するという方法が一番簡単ということになるのでしょうか。

 それでももちろんできますが,「一番簡単」ということでいえば,次の行をマ
クロの先頭に追加したらいいでしょう。

///// オプション //////////////////////////////
$phrase[0] = "目印となる語句を選択してください";
$phrase[1] = "- Yahoo! Groups Sponsor";
$phrase[2] = "phrase2";
$phrase[3] = "phrase3";
$phrase[4] = "phrase4";
//////////////////////////////////////////////
Menu:
menuarray $phrase, 5;   //@ここに語句の個数+1の数を書き込む
#r = result;
if( #r < 1 ) endmacro;
else if( #r == 1 ) goto Menu;
$line = $phrase[ #r - 1 ];
question $line + " 以下を削除しますか";
if( !result ) endmacro;

 最初のオプションの部分に必要な個数だけスポンサー名を示す語句を書き並べ
てください。それに応じて@の部分の数字を変更してください。

     では, (^^)/~
                                        山紫水明
                                        SANSHISUIMEI

[ ]
RE:21617 フリーメールのスポンサー欄を消No.21618
じゅげむ さん 05/02/06 21:36
 
山紫水明さん

ありがとうございます。
さっそくマクロを直してみましたが素晴らしいです。
使いやすいので、登録マクロに加えました。

おかげさまで私の鶴亀君から、バナーが一掃されました。
過去のメールを読むときに、バナーが入っていないというのは、予想以
上に気持ちがいいし、何より見やすいです。
プリントアウトしたときに、1枚余分に出てくるということもないの
で、地球にも優しいですね。

方向性としては、
@ 受信後自動起動
A バナーの下の行数が一定数以上の場合には、本文がある可能性があ
るので警告してくれる設定
B 削除した部分をまとめて1つのログに残す設定
などができると、結構需要があるのではないかと思いますが、今回作っ
ていただいたもので非常に満足しています。

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

あとは、yahooがバナーを本文の前に持ってきたりしないことだけ祈ります。

じゅげむ

[ ]
RE:21618 フリーメールのスポンサー欄を消No.21619
山紫水明 さん 05/02/06 22:36
 
 じゅげむさん,こんばんは。

>方向性としては、@ 受信後自動起動
 新着や未読の処理を解決する必要がありますね。

>A バナーの下の行数が一定数以上の場合には、本文がある可能性があるので
>警告してくれる設定
 これは何か具体的例がありますか。あるいは広告の最後を示す目印があるとか。

>B 削除した部分をまとめて1つのログに残す設定
 同じ広告が連なったものになると思いますが,それでも意味ありますか?それ
とも何か加えるべき他の情報が考えられますか?

 いずれにしてもすぐにやる余裕はないので,余裕ができたときに考えてみます。

     では, (^^)/~
                                        山紫水明
                                        SANSHISUIMEI

[ ]
RE:21619 フリーメールのスポンサー欄を消No.21622
Iranoan さん 05/02/07 11:59
 
 じゅげむさん、山紫水明さん今日は、Iranoan です。
> >(2) バナーの下の行数が一定数以上の場合には、本文がある可能性があるので
> >警告してくれる設定
>  これは何か具体的例がありますか。あるいは広告の最後を示す目印があるとか。
 私の使っている自作の広告削除のマクロでは、末尾の広告は正規表現で書け
ば、「\n\n」の形になっているので、それを参考にしています。また ML だと
その広告をそのまま引用している人もいるので、検索文字の先頭に「(> ?)*」
も加えてあります。
 ご参考までに。
 P.S 機種依存文字を変更しました。

[ ]
RE:21622 フリーメールのスポンサー欄を消No.21630
山紫水明 さん 05/02/07 19:50
 
 Iranoanさん,こんばんは。

> 私の使っている自作の広告削除のマクロでは、末尾の広告は正規表現で書け
>ば、「\n\n」の形になっているので、それを参考にしています。
 単純にメールの最後まで削除とはならない場合もあるということですね。

>また ML だとその広告をそのまま引用している人もいるので、検索文字の先頭
>に「(> ?)*」も加えてあります。
 なるほど,こういう場合も考える必要がありますね。いつものことながらアド
バイスありがとうございます。

     では, (^^)/~
                                        山紫水明(ユーザー)
                                        SANSHISUIMEI

[ ]