携帯へのメール送信

携帯へメールを送りたいとき半角カナを使いたかったりするんですが、

Content-Type: text/plain; charset="ISO-2022-JP"

で送っちゃうと、最近のMTAかMUAは勝手に全角カナに変換してしまいます。
ヘッダと一緒でbase64エンコードして送ってあげるとContent-Transfer-Encoding:7bitなメールで送ることが出来るので一応安心です。

最近では8bitでも送っても問題ないような気もしますが、どこに堅物が居るかは判りません。
携帯にかんしてはある程度閉じられた環境なので8bitでも行けるかと思って調べてみました。































































































Content-
Type
Content-
Transfer-
Encoding
本文の表示(半角カナを含む) 備考
Becky! F904i
(Docomo)
A5518SA
(au)
810P
(SoftBank)
text/plain; charset="ISO-2022-JP" 7bit × × × ×  
text/plain; charset="ISO-2022-JP" base64 ○*1 ○*2 ○*2 ×  
text/plain; charset="Shift_JIS" 7bit 一応出る。
但しRFC821や設定内容(Shift_JISは8bitなので)には矛盾しているのでどこかで、誰かが上手いことやってくれてるだけ。
text/plain; charset="Shift_JIS" 8bit RFC821に違反。RFC2045には準拠しているが全てのMTAがこの仕様を満たしているとは言い難い。
text/plain; charset="Shift_JIS" base64*3  
text/plain; charset="UTF-8"
8bit ×*4  
text/plain; charset="UTF-8"
base64*3 ×*4  
text/plain; charset="EUC_JP"
8bit ×*4  
text/plain; charset="EUC_JP"
base64*3 ×*4  


  • *1 MUAが適時変更してるだけ

  • *2 MUAが適時変更している。もしくはDocomoとauではJISをShift_JISとして使用している(推測)

  • *3 MTAの実装によっては自動でContent-Transfer-Encoding:8bitとして変換される物もある。その場合、拡張ヘッダ「X-MIME-Autoconverted: from base64 to 8bit by hoge.com id HOGE0000000」が付与される。

  • *4 A5518SAは古いのでMEDIA SKINでも確認しが、表示できず。


こんな感じです。でもキャリア毎に作りを変えるのはいい加減何とかして欲しい。