Gmail発のメールを引用すると全角空白が消No.01554
suii さん 17/06/21 12:29
 
Gmailのwebメールやアンドロイドアプリから送信されたメールはテキストとhtml
メールが添付されてきます。
Gmailの問題だと思うのですが、日本語文字列の先頭に全角空白があると受信す
るテキスト部分の先頭全角が全部削除されています。
秀丸メールではHTMLの方を表示して送信者の意図通り表示されています。

テンプレート命令 $(QuoteOE,$(RootBody)) で引用返信しているのですが、テ
キストの方が引用されます。
そうすると秀丸メールで表示されていたのとは体裁が変わって引用されてしまい
ます。

(例)
なんにもない
 一文字全角
  二文字全角

上記のメールをGmailで自分のプロバイダアドレスに送信すると、受信した秀丸
メール上では上記の通り表示されますが、このメールに引用返信すると
> なんにもない
> 一文字全角
> 二文字全角

となってしまうのです。
体裁を壊さずに引用する設定は可能でしょうか?


もう一つ、テンプレート命令 $(QuoteOE,$(RootBody)) を
[挿入]-[返信元/転送元メールからの引用] で選んでいくと、閉じカッコが
一つ少ないです。

[ ]
RE:01554 Gmail発のメールを引用すると全No.01555
秀まるお2 さん 17/06/21 14:32
 
 今こちらで、gmailのWebメールから自分宛にメールを送るテストをして、現象
を確認しました。

 まず、gmailのWebメールから届くメールは、いわゆる「text/plainとtext/
htmlのデュアルパート形式」になってます。

 このデュアルパートのうち、text/plainで届く方の、行頭の空白が削られてる
ようです。

 text/htmlの方はちゃんと全角空白が入っています。

 秀丸メールには、このような「デュアルパート」のメールの解釈について
オプションがありまして、とりあえずそこをいじることで期待した動作が可能に
なります。

 「設定 - 全般的な設定...」の「上級者向け - デコード」のページに、

   □ text/plainパートがあっても無視する

 があります。それをONにします。

 問題のメールを選択して「編集 - 受信解析のやり直し」をすると、text/
plainパートを無視してメールを生成するので、結果として全角空白の
インデントが正しく出てきます。

 そのメールに対して返信すれば、うまくインデント入りで返信できます。

 まずはそれをお勧めします。

 それと、$(QuoteOE,$(RootBody))のテンプレート命令の閉じ括弧が足りない件
は、今確認したら、たしかにその通りになってました。大変失礼しました。今す
ぐ修正させていただきます。

----------------------------------------------------------------------
 text/plainとtext/htmlのデュアルパートのメールの解釈についてですが、秀
丸メールの標準の動作は、「text/plainパートがあっても無視する」はOFFで、
代わりに「信頼できないtext/plainパートは無視する」がONです。

 この「信頼できないtext/plainパート」の判定基準は、メールのヘッダの中に
あるX-Mailer:ヘッダを見ています。今まで問題のあったメールクライアントか
らのメールのみ「信頼できない」と判定するロジックになっています。

 今回のような、gmailからのWebメールについては「信頼できない」のリストに
は入ってませんでした。

 例えばtext/plainとtext/htmlの内容を比較して、明らかにtext/plainの方の
側で文字が欠けてるようなケースでは、text/htmlの方を優先すべきかもしれま
せん。

 ちょっとその辺の判定ロジックをいじってみます。

[ ]
RE:01555 Gmail発のメールを引用すると全No.01558
suii さん 17/06/21 23:10
 
仰せの
  □ text/plainパートがあっても無視する
をONにしたところ、先頭空白は削除されずに引用されました。
ですが、htmlパートのメールアドレスに [a:xxxxxxxx]と、アンカーが表示され
て引用されるようになってしまいました。

デコード設定の
  □ リンクを[a:XXXX]のようにテキスト化する
を確認しましたがOFFになっていました。
試しに
  □ リンクを[a:XXXX]のようにテキスト化する
をON→OFFにしてみたところ、アンカーは表示されたままでした。

そこで 設定内容の復元 で直前の設定に戻したところ、アンカーは表示されな
くなりました。
ここで
  □ text/plainパートがあっても無視する
をONにしたら体裁を崩さず引用できました!
ありがとうございます。

ですがこのあと
  □ リンクを[a:XXXX]のようにテキスト化する
をONにてもメールアドレスアンカーは表示されないです。
私はアンカー表示しない派なので問題ないですが、設定と矛盾する結果なので一
応ご報告申し上げます。


後半点線以降のご提案で難しい設定なしに体裁が崩れない動作となるということ
で、どうぞ宜しくお願いします。

[ ]
RE:01555 Gmail発のメールを引用すると全No.01560
suii さん 17/06/22 09:05
 
テンプレート命令関係でこの際もう一点おたずねいたします。
転送のテンプレートで $(SmallRootHeader)$- 命令を使用していますが、
必ず空行が一行挿入されます。
$(CustomRootHeader,"From:Subject:To:Cc:")$- 命令も同様です。

空行が挿入されないように設定できますか?

[ ]
RE:01558 Gmail発のメールを引用すると全No.01562
秀まるお2 さん 17/06/22 10:24
 
  □ リンクを[a:XXXX]のようにテキスト化する

 がOFFであるにも関わらず「a:XXXXX]がメール本文に出てくることがあって、
「設定内容の保存/復元...」をした後にもう一度オプションをいじったら直った
ということは・・・。何か、ここの設定とは別の設定が関係して[a:XXXX:が出た
り出なかったりといったことが起こってるのかもしれません。

> ですがこのあと
>   □ リンクを[a:XXXX]のようにテキスト化する
> をONにてもメールアドレスアンカーは表示されないです。

 ということは、いかにもここの設定とは別の設定が関係してしまってるような
雰囲気を感じます。
 
 ソースコード見直してその辺確認してみます。

------------------------------------------------------------------------

 最近のバージョンで、「表示」メニューに「HTMLタグを隠す」ってコマンドが
追加されてまして、これを使うと、デコード時の上記オプションがONであっても
表示上は[a:XXXX]無しに出来ます。これをさらに拡張して、「HTMLタグを隠す」
がONの状態で「返信メール」を作成したら、[a:XXXX]が引用部分に入らないよう
にしたらいいかと思います。

 そういう仕様変更を手元のバージョンで1回やってみて、良さそうならそのま
ま次のβ版でそういう仕様にしてしまおうと思います。

 あるいは、$(NoTagRootBody)とかも追加したらいいかもしれないです。それも
考えてみます。

[ ]
RE:01560 Gmail発のメールを引用すると全No.01563
秀まるお2 さん 17/06/22 10:48
 
 テンプレート命令の「$-」を複数個入れることで期待する動作が実現できるは
ずなんですが、今テストしたらダメでした。

 例えば、

    $(SmallRootHeader)$-$-
    テスト

 のように書けばいいみたいな仕様のつもりでしたが、$(SmallRootHeader)の返
す文字列が、いわゆる「自動折り返し禁止」の形になってて、その場合にうまく
改行の除去が出来ないようでした。

 ということで、すみませんがバグということで修正させていただきます。

 次のV6.72β10を入れていただければ、「$-」を連続で書くことで改行が除去
できるようになりますので、そういうことでお願いします。

 ヘルプの方の説明も追記したり、「挿入▼」の方にも追加するか考えます。

[ ]
RE:01562 Gmail発のメールを引用すると全No.01564
秀まるお2 さん 17/06/22 12:03
 
>  最近のバージョンで、「表示」メニューに「HTMLタグを隠す」ってコマンドが
> 追加されてまして、これを使うと、デコード時の上記オプションがONであっても
> 表示上は[a:XXXX]無しに出来ます。これをさらに拡張して、「HTMLタグを隠す」
> がONの状態で「返信メール」を作成したら、[a:XXXX]が引用部分に入らないよう
> にしたらいいかと思います。

 すみません。既にそういう処理になってました。

[ ]
RE:01564 Gmail発のメールを引用すると全No.01568
秀まるお2 さん 17/06/22 18:32
 
 何度もすみません。

 gmailのWebメールの場合ですが、「text/plainパートがあっても無視する」を
OFFにしてる時の動作を多少改良します。

 text/plainと、text/htmlをプレーンテキストに変換した内容とを比較して、
text/plain側での行頭の全角空白のインデントが欠けてると思わしき場合は、
text/html側と同じ数の全角空白を適当に挿入するようにします。

 判定ロジックが厳密ではないので必ず成功する保証は無いですが、やらないよ
りはマシだと思うので、そういうことにします。普通の文字だけのメールなら成
功すると思います。

[ ]
RE:01568 Gmail発のメールを引用すると全No.01572
suii さん 17/06/22 21:49
 
ありがとうございます。
ノーマルな設定で自然な動作をする改良、ありがたいです。
秀丸メールの回し者と言われるほどふれまわっている身としては心強いです(笑)

[ ]
RE:01572 Gmail発のメールを引用すると全No.01588
suii さん 17/06/27 15:46
 
「text/plainパートがあっても無視する」がOFFでも、
全角インデントが再現されるようになりました。

$(SmallRootHeader)$-$- 命令で、空白行が出力されなくなりました。

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


テンプレートの[挿入▼]で「改行の除去($-)」がなくなってしまったのと、
ヘルプには「空行の除去($-$-)」の説明がない
ですが、このままでよろしかったでしょうか。

[ ]
RE:01588 Gmail発のメールを引用すると全No.01589
秀まるお2 さん 17/06/27 18:12
 
> テンプレートの[挿入▼]で「改行の除去($-)」がなくなってしまったのと、

 テンプレートの「挿入▼」メニューの中には、元々「$-」についての命令は無
かったと思います。(ソースコードも見直してみたけど)

 今回新たに「空行の除去」を追加しただけの違いだけだと思います。

> ヘルプには「空行の除去($-$-)」の説明がない
> ですが

 すみません。ヘルプの方にちゃんと書き加えたつもりが、ヘルプファイルの
コンパイルをしわすれてしまってました。今コンパイルしたので次回β版にはち
ゃんと説明が入るようになります。

 ということでよろしくお願いします。

[ ]