SSブログ

ThunderbirdのRSSリーダーはエンコードされた<>をデコードして<title>にしてSubject:が変になる [メール投稿]

Twitter / self7777: RSSフィードでは > ...
RSSフィードでは > も < もエンコードされてる。ThunderbirdがHTML形式のメールに変換する時に<title>の所はデコードしちゃってる。<body>の方はエンコードされたまま。それで、<title>をSubject:にするから < がタブの一部とみなされて…。

このツイートのRSSフィードからThunderbirdが作ったHTMLソースは次の通り。
From - Tue, 29 Apr 2014 18:32:04 +0900
X-Mozilla-Status: 0041
X-Mozilla-Status2: 00000000
X-Mozilla-Keys:                                                                                
Date: Tue, 29 Apr 2014 18:32:04 +0900
Message-Id: <https://twitter.com/self7777/status/461075435502047232@localhost.localdomain>
From: RSS (@self7777)
MIME-Version: 1.0
Subject: RSSフィードでは > も < もエンコードされてる。ThunderbirdがHTML形式のメールに変換する時にの所はデコードしちゃってる。<body>の方はエンコードされたまま。それで、<title>をSubject:にするから < がタブの一部とみなされて…。
Content-Transfer-Encoding: 8bit
Content-Base: https://twitter.com/self7777/status/461075435502047232
Content-Type: text/html; charset=UTF-8

<html>
  <head>
    <title>RSSフィードでは > も < もエンコードされてる。ThunderbirdがHTML形式のメールに変換する時に<title>の所はデコードしちゃってる。<body>の方はエンコードされたまま。それで、<title>をSubject:にするから < がタブの一部とみなされて…。</title>
    <base href="https://twitter.com/self7777/status/461075435502047232">
  </head>
  <body id="msgFeedSummaryBody" selected="false">
    RSSフィードでは &gt; も &lt; もエンコードされてる。ThunderbirdがHTML形式のメールに変換する時に&lt;title&gt;の所はデコードしちゃってる。&lt;body&gt;の方はエンコードされたまま。それで、&lt;title&gt;をSubject:にするから &lt; がタブの一部とみなされて…。
  </body>
</html>

元になったRSSフィードは次の通り。
<item>
<link>https://twitter.com/self7777/status/461075435502047232</link>
<guid isPermaLink="true">https://twitter.com/self7777/status/461075435502047232</guid>
<pubDate>Tue, 29 Apr 2014 18:32:04 +0900</pubDate>
<title>
RSSフィードでは &gt; も &lt; もエンコードされてる。ThunderbirdがHTML形式のメールに変換する時に&lt;title&gt;の所はデコードしちゃってる。&lt;body&gt;の方はエンコードされたまま。それで、&lt;title&gt;をSubject:にするから &lt; がタブの一部とみなされて…。
</title>
<description><![CDATA[
RSSフィードでは &gt; も &lt; もエンコードされてる。ThunderbirdがHTML形式のメールに変換する時に&lt;title&gt;の所はデコードしちゃってる。&lt;body&gt;の方はエンコードされたまま。それで、&lt;title&gt;をSubject:にするから &lt; がタブの一部とみなされて…。
]]></description>
</item>

ThunderbirdがツイートのRSSフィードをメール形式に変換する時に、Subject: を次のように変換すれば問題が生じない。
Subject: =?ISO-2022-JP?B?UlNTGyRCJVUlIyE8JUkkRyRPGyhCID4gGyRCJGIbKEIgPCAbJEIkYiUo?= =?ISO-2022-JP?B?JXMlMyE8JUkkNSRsJEYkayEjGyhCVGh1bmRlcmJpcmQbJEIkLBsoQkhU?= =?ISO-2022-JP?B?TUwbJEI3QTwwJE4lYSE8JWskS0pRNDkkOSRrO34kSxsoQjx0aXRsZT4b?= =?ISO-2022-JP?B?JEIkTj1qJE8lRyUzITwlSSQ3JEEkYyRDJEYkayEjGyhCPGJvZHk+GyRC?= =?ISO-2022-JP?B?JE5KfSRPJSglcyUzITwlSSQ1JGwkPyReJF4hIyQ9JGwkRyEiGyhCPHRp?= =?ISO-2022-JP?B?dGxlPhskQiRyGyhCU3ViamVjdDobJEIkSyQ5JGskKyRpGyhCIDwgGyRC?= =?ISO-2022-JP?B?JCwlPyVWJE4wbEl0JEgkXyRKJDUkbCRGIUQhIxsoQg==?=

テスト用ブログで確認したら、Subject: はエンコードされてなくてもThunderbirdは正常に表示するかもしれない。Subject:の生成時に問題が生じ、その前の<title>タグの生成時にデコードしてしまうことが問題なのかもれしない。例えば次のようなソースは問題なかった。
Subject: <title>について
(中略)
<html>
  <head>
    <title>&lt;title&gt;について</title>
(中略)
  </head>
  <body id="msgFeedSummaryBody" selected="false">
(中略)
  </body>
</html>

nice!(0)  コメント(0)  トラックバック(1) 
共通テーマ:moblog

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。