meeyar さんが書きました:
通常はRe: (コロンまで含む)はヘッダ要素であり、ヘッダ文字列の一部に別のものが挟まっている方が変則的に思いますが…
例えばメーリングリストなどだと[文字列]Re: とかRe: [文字列]などは見かけますが、Reと: の間に[文字列]となった事例は見たことがありません。
返信する度に、「Re^数字: 元の件名」や「Re[数字]: 元の件名」の数字部分をインクリメントしていく文化圏があったような気がします。
検索してみると、秀丸メールにそういう設定があるようです。
meeyar さんが書きました:
本来的にはRe: を正しく使うのが望ましいとは思いますが、返信時の件名で[ ]内の文字が無視されるのはThunderbirdのBugっぽい印象です。
RFC等の根拠は見つけられませんでしたが、ソースを読むと意図的に無視しているので少なくともThunderbirdの仕様だと思います。
(ちなみに、Mewというメーラーでも同様の動きをします。)
RE:test → Re: test
RE[12345]:test → Re: test
RE(12345):test → Re: test
キーワード「RE」の部分は「mailnews.localizedRe」(about:config)で追加できるようですが、書式自体の変更は標準ではできません。
comm-central/mailnews/base/util/nsMsgUtils.cppコード:
//check if the beginning of s is the actual token
if (tokenLength && !strncmp(s, tokPtr - tokenLength, tokenLength))
{
if (s[tokenLength] == ':')
{
s = s + tokenLength + 1; /* Skip over "Re:" */
result = true; /* Yes, we stripped it. */
goto AGAIN; /* Skip whitespace and try again. */
}
else if (s[tokenLength] == '[' || s[tokenLength] == '(')
{
const char *s2 = s + tokenLength + 1; /* Skip over "Re[" */
/* Skip forward over digits after the "[". */
while (s2 < (s_end - 2) && isdigit((unsigned char)*s2))
s2++;
/* Now ensure that the following thing is "]:"
Only if it is do we alter `s'. */
if ((s2[0] == ']' || s2[0] == ')') && s2[1] == ':')
{
s = s2 + 2; /* Skip over "]:" */
result = true; /* Yes, we stripped it. */
goto AGAIN; /* Skip whitespace and try again. */
}
}
}