Queryfeedで出力されたRSSフィードをThunderbirdで読めるようにする

TwitterのつぶやきをRSSフィード化してくれるサービスQueryfeedですが、これが出力したフィードをThuunderbirdで購読しようとすると

フィードのURLが正しくありません。 フィードが有効か確認して正しいURLを取得します。

というエラーが発生して受け付けてくれません。

エラーメッセージのリンクをクリックすることでW3C Feed Validation Serviceに誘導されあちこち不具合を指摘されますが、Thunderbirdが致命傷と認識しているのはそのうちのMissing channel element: link、つまり

  • タグ中にタグが出てこない

という箇所です。
ならば「何でもいいからタグを追加してしまえ!」ということで、こんなPHPプログラムを書いてみました。
Google App Engine for PHPでも動くようにcURLではなくfile_get_contents()を使用しています。

<?php
$query = urlencode($_GET["q"]);
$result = file_get_contents("https://queryfeed.net/tw?q=".$query);

header("Content-Type: application/rss+xml; charset=utf-8");
echo preg_replace("|</webmaster>|", "</webmaster><link>https://queryfeed.net</link>", $result);

qパラメータを素通ししているのでQueryfeedでのURIのアドレス部分をこのプログラムをホスティングしているサーバのURLに書き換えるだけでOKです。
手元のThunderbird(38.2.0)はこれで正常に購読できるようになりました。