subject に含まれる空白が削られることがNo.00008
ogata さん 16/06/08 21:45
 
subject に含まれる空白が削られることがあるので報告いたします。

以下、再現手順です。

telnet で下記 subject のメールを作ります。

<例1>
subject: [CentOS-announce] CESA-2016:1204 Important CentOS 6 spice-server
●Security Update

<例2>
subject: [CentOS-announce] CESA-2016:1204 Important CentOS 6 spice-server
● Security Update

●印はタブです。

<例2> の丸印の直後には半角空白があります。

<例1> と <例2> を秀丸メールで POP3 受信し、subject を確認すると
下記のように spice-server と Security がつながってしまいます。

[CentOS-announce] CESA-2016:1204 Important CentOS 6 spice-serverSecurity Update

下記のように、表示されることを期待しています。

[CentOS-announce] CESA-2016:1204 Important CentOS 6 spice-server Security Up
date

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






[ ]
RE:00008 subject に含まれる空白が削られNo.00010
秀まるお2 さん 16/06/09 08:58
 
 お手数かけてすみません。

 メールのヘッダが改行で折り返してる場合にそこをどう扱うのかについては、
他のメールソフトでどうなってるのか調べていろいろいじった覚えがあります。
ただ、実際に期待しない状態のメールがあるということは、問題があるのかもし
れません。

 改めて他のメールクライアントでどうなってるか調べてみて、秀丸メールの動
作が標準的でない場合は直そうと思います。

 結果はまた書き込みさせていただきます。

[ ]
RE:00010 subject に含まれる空白が削られNo.00012
秀まるお2 さん 16/06/09 11:09
 
 今後のためもあるのでまずは調査結果を報告させていただきます。

 タブをT、空白をSとして、それの組み合わせをテストしました。

 T    Subject: aaa(改行)(タブ)bbb
 TT   Subject: aaa(改行)(タブ)(タブ)bbb
 S    Subject: aaa(改行)(空白)bbb
 SS   Subject: aaa(改行)(空白)(空白)bbb
 TS   Subject: aaa(改行)(タブ)(空白)bbb
 TTSS Subject: aaa(改行)(タブ)(タブ)(空白)(空白)bbb

 の6パターンでテストしました。

 結果こうなりました。

                     T   TT  S   SS  TS  TTSS
Outlook Express      空   T   S   SS  S   TSS
Thunderbird          S   ST  S   SS  SS  STSS
Becky!               S   S   S   S   S   S
秀丸メール           空   空   空   空   空   空
Outlook 2007         T   TT  S   SS  TS  TTSS
Windows10の「メール」T   TT  S   SS  TS  TTSS

 秀丸メールはOutlook Expressをお手本にしてたつもりだったんですが、
「T」の場合に同じってだけで、それ以外のケースは違ってしまってました。何
か理由があってあわざとそうしてるのかもしれませんが、過去の記録とか探して
もいまいち理由が分かりませんでした。

 なので、改めて、Outlook Express互換に修正させていただきます。

 スレッドがつながらなくなる例も見つけました。例えば

Mesage-Id: <aaaa bbbb>

 のようなメールがあって、それに対して、

In-Reply-To: <aaaa
 bbbb>

 のように改行してるケースがあると、他のメールソフトではつながるのに秀丸
メールではつながらないようです。Outlook Express互換にすることでこれも直
ると思います。

 この辺の解釈の処理は、いわゆる「受信解析」というか、メールを受信した時
に実行する「デコード」の処理でなされるので、既存のメールについては、次の
β版で「編集 - 受信解析のやり直し」をしていただかないと直らない形にはな
ります。

 とにかくこの辺直してまた今週中にVersion 6.54β14としてアップロードさせ
ていただきます。

[ ]
RE:00012 subject に含まれる空白が削られNo.00013
秀まるお2 さん 16/06/09 11:31
 
 すみません。秀丸メールの結果間違ってました。

                     T   TT  S   SS  TS  TTSS
Outlook Express      空   T   S   SS  S   TSS
秀丸メール           空   空   S   S   空   空

 「TT」や「TS」とかの、タブ文字が混じりつつ他の文字も付いてるケース
および、「SS」のように空白が2つ以上あるケースで互換性が無いだけのよう
です。

 とにかく同じになるように修正させていただきます。

[ ]
RE:00013 subject に含まれる空白が削られNo.00073
ogata さん 16/06/20 23:44
 
ありがとうございます。
6.54β14 にて、期待通りに subject が表示されました。

[ ]
RE:00073 subject に含まれる空白が削られNo.00158
ogata さん 16/07/08 06:50
 
秀丸メールは Version 6.54 Beta 20 です。

No.00008 の <例1> と同じケースだと思うのですが下記の <例3> が
[CentOS-announce] Announcing Release for Gluster 3.8 on CentOSLinux 7 x86_64
のように CentOS と Linux がつながって表示されました。

================= <例3> =================
Subject: [CentOS-announce] Announcing Release for Gluster 3.8 on CentOS
●Linux 7 x86_64
=========================================
●印はタブです。

以下、私が確認したメーラーでの表示です。

=========================================
秀丸メール ---------------> CentOSLinux
Windows Live Mail 2012 ---> CentOSLinux
Thunderbird --------------> CentOS Linux
Outlook 2016 -------------> CentOS●Linux
=========================================

Thunderbird の独自の工夫のように思えますが、
Thunderbird と同様に表示するよう秀丸メールの動きを変更していただけないでしょ
うか。

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


[ ]
RE:00158 subject に含まれる空白が削られNo.00159
ogata さん 16/07/08 07:01
 

メーラーでの表示例報告を一つ追加させていただきます。

=========================================
メーリングリストのアーカイブサイト (※1) ---> CentOS Linux
=========================================

(※1)
https://lists.centos.org/pipermail/centos-announce/2016-July/021948.html

[ ]
RE:00159 subject に含まれる空白が削られNo.00160
ogata さん 16/07/08 07:35
 
subject が英数字限定 (7bit文字限定?) なら
深く考えずに CentOS Linux のように空白を補えそうですが
subject に日本語が入っている場合、単純に空白を挿入すると
余計な空白が表示されるという別の問題が発生するかもしれません。

素人の余計な心配かもしれませんが、
対応可能かどうかは慎重に検討お願いいたします。




[ ]
RE:00160 subject に含まれる空白が削られNo.00164
秀まるお2 さん 16/07/08 11:14
 
 日本語の場合はたいてい、

Subject: =?iso-2022-jp?b?....?=
(タブ)  =?iso-2022-jp?b?....?=
(タブ)  =?iso-2022-jp?b?....?=

 みたいに「=?〜?=」でエンコードされてるので、こういうケースは行頭のタブ
や空白はすべて除去して問題は起きないです。ただ、世の中にはいろんなイレギ
ュラーなメールがあるので、「=?〜?=」でエンコードせずにそのまま文字を入れ
てくるケースもあって、そういうのは以前と互換性が無くなる可能性が高いです。

 僕の経験的には、「長いものには巻かれろ」ということで、1番シェアの高い
メールクライアントに合わせておくのが間違いないと思いつつも、今さら
Outlook Express使ってる人は少ないでしょうし。

 そもそも的にVersion 6.53までとV6.54βとで互換性も無いことなので、とり
あえず今回のケース、

Subject: xxxxx
(タブ)  yyyyy

 のようなケースはタブを空白に変換して入れるように直してみます。

-----------------------
 ソースコードを見直ししたら、


Subject: [ml-name: nnnn]
(タブ)  yyyyy

 みたいに「改行+タブ」の直前がメーリングリストのタイトルのようなケース、
具体的には"]"で終わってる場合は空白を入れるって例外処理があったようです。
たぶんこれも何か要望があってそうしたんだと思います。逆に言うと、"]"じゃ
ないケースについては空白を入れてほしくないって要望があったのかもしれませ
ん。

 とりあえず今回の修正で、"]"以外でも必ず空白が入る動作にして、もし何か
反論があったらまた検討しなおそうかと思います。

[ ]
RE:00164 subject に含まれる空白が削られNo.00176
ogata さん 16/07/09 01:13
 
この類の処理を RFC では folding/unfolding と呼ぶらしいですね。

RFC をチラッと見ただけの自分には、理解するのが難しい・・・

> とりあえず今回の修正で、"]"以外でも必ず空白が入る動作にして、もし何か
>反論があったらまた検討しなおそうかと思います。

はい。
単純な話ではないと理解できたので、「何か反論があったらまた検討」でお願いいた
します。

[ ]
RE:00176 subject に含まれる空白が削られNo.00198
ogata さん 16/07/12 21:06
 
subject の件、version 6.54 にて調子よく動作しています。
ありがとうございます。

[ ]