HTMLメールの表示に成功

なんとか表示に成功した。
メールの内容とは全く関係ないHTMLをsetText()して正しく表示されることを確認したのち、本物メールの一部を切り出してsetText()してみた。ここからトライアンドエラー。
そして、METAタグを削除したところで表示されるようになることを突き止めた。
正確には、Content-Type, charsetを指定しているMETAタグを削除しただけである。
すべてのMETAタグが悪さをするかを確認したわけではない。
HTMLのレイアウトにおいてMETAタグが影響を与えないことはわかっているので、面倒だからMETAタグを再帰的に全て削除するメソッドを実装してしまった。問題なかろう。
するとHTMLメールは見事に表示された。
マルチパートのメールで一分画像が表示されなかったが、古いメールだからサーバから削除された可能性もあるし、まだそこまで追求していない。Webサイトの場合だとBaseURLの指定をしないと画像が表示されないことがあるらしいのだがメールだとそこまで厳密に処理しなくてもいいように送ってきているであろう。
マルチパートの処理をどうするか、それが問題だ。

コメント