【質問】転送時の転送元メールヘッダ引用No.00878
TATE2 さん 08/03/08 12:44
 
秀まるおさん

TATEです。

テンプレートで教えていただきたくアップしました。

転送時に、転送元メールヘッダを$(OrikaeshiSmallRootHeader)にて
使用しているのですが、ToやCcが膨大なメールの場合に少々苦慮
しています。(場合によっては、削除もしています)

ついては、例えばメールヘッダからメールアドレスだけを省略できる
ようなテンプレートはありませんでしょうか?
(Outlook風のもの)
あるいは、メールアドレスの前についている名前を省略できても助か
ります。

元メールを少し修正するので、すこしポリシーに反しもしますが、
ご教示よろしくお願いします。


[ ]
RE:00878 【質問】転送時の転送元メールヘNo.00879
山紫水明 さん 08/03/08 17:09
 
 TATE2さん,

>ついては、例えばメールヘッダからメールアドレスだけを省略できる
>ようなテンプレートはありませんでしょうか?

 正式コメントは秀まるおさんにお願いすることにして,私は次のようなマクロ
を転送用テンプレートの最後に書き込んでいます。

//-------- HMMDeleteRootAddress.mac ----------------//
question "元メールヘッダの中の宛先を削除しますか?";
if( result == no ) endmacro;
disabledraw;
moveto 0, 0;
replacedown "^(To:|Cc:).+@.+\\n", "", regular;
while( 1 ) {
    if( strstr( "To:Cc:   ", gettext( 0, y, 2, y) ) < 0 ) break;
    deleteline;
}
//insert "(宛先削除)\n";
endmacro;
//--------------------------------------------------//

転送用テンプレートの最後に
$(ExecMacro,"HMMDeleteRootAddress.mac")$-
を追加

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

[ ]
RE:00879 【質問】転送時の転送元メールヘNo.00880
TATE2 さん 08/03/08 17:56
 
山紫水明さん

TATEです。

早々にご教示ありがとうございました。

早速、試してみました。
このマクロだと、ToとCcの行が全てなくなってしまうのですが、
メールアドレス(@を含む文字)だけを消去できれば、要望のことが
できそうです。


全て消去するのもこれはこれで助かります。





[ ]
RE:00880 【質問】転送時の転送元メールヘNo.00881
山紫水明 さん 08/03/08 21:12
 
 TATE2さん,

>メールアドレス(@を含む文字)だけを消去できれば、要望のことが
>できそうです。

 いろいろなアドレス表記がありそうですが,標準的な場合は次のようにしたら
できるかも知れません。

//-------- HMMDeleteQuoteAddress.mac ----------------//
question "元メールヘッダの中の宛先を削除しますか?";
if( result == no ) endmacro;
disabledraw;
moveto 0, 0;
searchdown "^(To:|Cc:)", regular;
beginsel;
searchdown "^\\n", regular;
//replaceallfast " ?<.+?>", "", regular, inselect;    // いずれかを
replaceallfast " ?<.+?>|\\n +", "", regular, inselect;// コメントアウト
escapeinselect;
endmacro;
//--------------------------------------------------//

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

[ ]
RE:00881 【質問】転送時の転送元メールヘNo.00882
TATE2 さん 08/03/08 22:27
 
山紫水明さん

TATEです。

早々にご教示ありがとうございました。
ほぼ希望する機能になりました。感謝します。

マクロに明るくないため、申し訳ないのですが、メールアドレスだけ
を消去して残った名前が、1行に1人だけ残るようなので、できれば
1行に複数人になるように連結できれば助かります。

お時間のある時にご教示いただければ幸いです。
(無理であれば、手許で何とか考えてみます)

よろしくお願いします。



[ ]
RE:00882 【質問】転送時の転送元メールヘNo.00883
山紫水明 さん 08/03/09 08:49
 
 TATE2さん,

>1行に複数人になるように連結できれば助かります。
>
>お時間のある時にご教示いただければ幸いです。

マクロの中の

//replaceallfast " ?<.+?>", "", regular, inselect;    // いずれかを
replaceallfast " ?<.+?>|\\n +", "", regular, inselect;// コメントアウト

は,上が1人1行,下が複数人を1行にまとめるものです。
このままで,下を選んでいるので,1行に連結されるはずなのですが,はて?
何か他の設定が影響しているのでしょうか。
連結されないサンプルを示していただくとヒントになるかも知れません。

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

[ ]
RE:00883 【質問】転送時の転送元メールヘNo.00884
秀まるお さん 08/03/10 09:55
 
 もう解決されてるようだしマクロの中身はよく分かって無くてお返事してま
すけど、、テンプレートの命令にCallByEmailListというのがあるので、それ
を使えばテンプレートだけで出来るかもしれないです。

To: $(CallByEmailList,SetNameOnly,$(RootHeader,To))

 みたいな感じで。

[ ]
RE:00884 【質問】転送時の転送元メールヘNo.00885
TATE2 さん 08/03/10 11:57
 
TATEです、

以下テンプレートにてうまくToもCcもOutlook風に
ヘッダを簡略できました。

>To: $(CallByEmailList,SetNameOnly,$(RootHeader,To))

ご教示ありがとうございました。
(もう少しテンプレートを勉強しないとダメですね。。。)



[ ]
RE:00883 【質問】転送時の転送元メールヘNo.00886
TATE2 さん 08/03/10 18:02
 
山紫水明さん

お世話になりありがとうございます。TATEです。

>は,上が1人1行,下が複数人を1行にまとめるものです。

 実は、名前だけが欲しかったので、上の命令を有効にして
 使おうとしたのですが、1行1人なので、行の圧縮には
 ならず、ちょっと手間でした。

 1行複数人に連結できたら便利ですが、自動折り返しが欲
 しいところです。



[ ]
RE:00885 【質問】転送時の転送元メールヘNo.00887
TATE2 さん 08/03/10 18:09
 
TATEです、

以下のように指定(ヘルプにあったもの)して使っていたのですが、
大勢の場合折り返しができないようなのですが、何かうまい手はな
いでしょうか?

To: $(CallByEmailList,FindBook2,$(RootHeader,To))
Cc: $(CallByEmailList,FindBook2,$(RootHeader,Cc))

以上、よろしくお願いします。

>〆

[ ]
RE:00886 【質問】転送時の転送元メールヘNo.00888
山紫水明 さん 08/03/10 21:05
 
 TATEさん,

 秀まるおさんの示された CallByEmailList関数を使った方がスマートにできる
ようです。以下はご参考までに。

> 1行複数人に連結できたら便利ですが、自動折り返しが欲
> しいところです。

 私のところでは,マクロの下の行を有効にすると,名前が連結されて,自動折
り返しされています。「表示」の「自動折り返しは」ONになっています。
 なお,マクロの最後に
loaddll "TKInfo.dll";
if( !dllfunc( "IsOrikaeshi" ) ) #n = dllfunc( "SwitchOrikaeshi" );
を追加すると,確実に折り返しされると思います。

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

[ ]
RE:00887 【質問】転送時の転送元メールヘNo.00890
秀まるお さん 08/03/11 10:38
 
 自動折り返しの設定がONなら折り返しはするはずだと思いますけども、もし
かしてTo:行の最後の改行が右下向きの矢印になっているのでしょうか。だと
したら、そこの行がなぜか自動折り返し禁止行になってるのだと思いますけど
も…。

 それとも、折り返しはすると思いますけども、もしかして、

To: xxxxxxxx, xxxxxxx,
    xxxxx, xxxx, xx

 みたいに折り返された後の2行目の行頭に適当な空白を入れてうまく整形し
て欲しいって話ですかね?

 非常に強引なやり方ではありますが、「全般的な設定・メール表示・禁則処
理」の「行頭のタブ文字で段落全体をインデントする」をONにして、さらに
「インデント対象に追加する文字」の所に

 ToCc:

 を入れてしまい、さらにテンプレートの「To:」の次の空白をタブ文字にす
ることで、うまくインデントした表示は可能になります。

 でもこれだと、行頭に「T」等の文字を使っただけでインデントしてしまう
ので不便ですけど。

[ ]
RE:00890 【質問】転送時の転送元メールヘNo.00892
TATE2 さん 08/03/11 13:41
 
TATEです。

言葉足りずですいません。

わがままな要望としては、ご指摘の通り以下のように
見易いようにうまくスペースが空いてくると、あとで
整形する手間も省けて便利になり嬉しいところです。


>To: xxxxxxxx, xxxxxxx,
>    xxxxx, xxxx, xx
>
> みたいに折り返された後の2行目の行頭に適当な空白を入れてうまく整形し
>て欲しいって話ですかね?



ただ、インデントは少々強引なようなので、また、
他のメーラーもうまく処理できていなさそうなものも
あるので、整形のスペース無しで使うかも検討します。

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


[ ]
RE:00892 【質問】転送時の転送元メールヘNo.00896
山紫水明 さん 08/03/12 21:54
 
 TATEさん,

>ただ、インデントは少々強引なようなので、また、
>他のメーラーもうまく処理できていなさそうなものも
>あるので、整形のスペース無しで使うかも検討します。

マクロにインデント整形も追加してみました。
「転送メールのアドレスを簡略化するマクロ」
http://homepage2.nifty.com/12sun/sansui.html
に置いています。

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

[ ]
RE:00896 【質問】転送時の転送元メールヘNo.00897
TATE2 さん 08/03/13 01:32
 
山紫水明さん

TATEです。

>マクロにインデント整形も追加してみました。
>「転送メールのアドレスを簡略化するマクロ」

 上記、マクロの公開ありがとうございました。
 相手に応じて、テンプレートを使い分けようと考えています。

 なお、欲を言えば、名前をインデントして整形される時に
 名前が改行位置で切れないようになれば完璧ですね。
 
 下名もちょっとマクロを勉強してみます。




[ ]
RE:00897 【質問】転送時の転送元メールヘNo.00898
山紫水明 さん 08/03/13 20:53
 
 TATEさん,

> 名前が改行位置で切れないようになれば完璧ですね。

 名前が改行位置で切れないようにしてみました。
 完璧かどうかまだわかりませんが。

                                        山紫水明
                                        SANSHISUIMEI

[ ]
RE:00898 【質問】転送時の転送元メールヘNo.00899
TATE2 さん 08/03/13 22:40
 
山紫水明さん

TATEです。

マクロを改訂していただき大変便利になりました。
これを標準として設定することに決めました。

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


[ ]