様々なメーラーのMIMEヘッダやら区切りパートについて
現在、メール投稿によるブログの作成ができるシステムを開発中なわけですが、メーラーによって色々な癖があることが解ってきたのでまとめておこうと思います。
メールデータの取得方法(生のテキスト)
1.WEB版のGmail宛へ送信
2.オプションでメッセージのソースを表示
3.元のメールをダウンロードでテキストデータとして保存
利用したメーラー
メーラー | SMTP | キャリア |
---|---|---|
Andoroid標準メーラー | docomo.ne.jp | docomo |
iPhone版デコメーラー | ezweb.ne.jp | au |
iPhone版Gmailアプリ | mail.gmail.com | au |
WEB版Gmail | mail.gmail.com | PC |
iPhone標準メーラー | st13p11im-asmtp003.me.com | au |
Microsoft Outlook 16.0 | smtp.kagoya.net | PC |
スマホ版WEB版Gmail | gmail.com | au |
※注意:SMTPについてはちゃんとした情報ではなく、メールデータに載ってた物を抜粋しただけです!要するに多分これ的なサーバw
各種メーラーの癖(ここが本題)
1.Andoroid標準メーラー
1.text/htmlパートのタグが全部大文字。
2.バウンダリ(パート区切り文字)の先頭にハイフン(-)が4つ入る。
2.iPhone版デコメーラー
1.画像がサムネイルになる。本体はデコメーラーのサーバに保存される。
2.HTMLタグとHEADタグのみが大文字でそれ以外は小文字になる。
3.iPhone版Gmailアプリ
1.宛先が同じ場合、Delivered-Toフィールドが削除される。
2.MIMEヘッダの内容が薄い。(同じアドレス宛だからかもしれません)
3.text/htmlパートのエンコードがquoted-printableである。
4.Content-Dispositionが全てattachmentになる。
5.本文中にファイルを挿入しても、添付ファイルとしてもContent-IDが付く。
6.Dateフィールドの時差指定が日本時間になってない。(時差指定が+0000のまま)
4.WEB版Gmail
1.X-Mailerフィールドが無い。(独自フィールドなので無くても問題ない)
2.MIMEヘッダの内容が薄い。(同じアドレス宛だからかもしれません)
3.ファイル毎に独自フィールドのX-Attachment-Idフィールドがある。
4.inlineファイルにはContent-IDとX-Attachment-Idがある。
5.iPhone標準メーラー
1.Content-Dispositionが全てinlineになる。
2.text/htmlパートが無く、text/plainパートしかない。
3.us-asciiコードを使っている場合がある。(多分、文末の空行のみ)
6.Microsoft Outlook 16.0(Outlook 2016)
1.inlineだとContent-Dispositionフィールドが省略されてContent-IDフィールドのみある。
2.attachmentだとContent-IDフィールドが無い。
3.text/htmlパートのエンコードがquoted-printableである。
4.inlineにはfilenameプロパティが無い。
とりあえず、自分がやりたいことで凄く邪魔くさいwと思った癖のある部分をまとめてみました。まだ他にも色々とメーラーがあるのは知ってますがとりあえず調べれたのはこれだけ。基本的に携帯やスマホからの投稿を目的として作っているのでサンダーバードとかベッキーとかそんなのは調べませんw