メモ
困った。メーラーによって改行コードの種類が違うし、CRのみ、LFのみ、CRLFとCRが混在してたりする。どこでどう判断すればいいか解らなくなってきた。
改行コードが統一されてればメーラー判断してからの正規表現を決定すればいいんだけどまさか混在してるとは思わなかった。
あとで調べないとちゃんとした処理出来ないなぁ。
ちなみにiPhoneの標準メーラーが色んな面でかなり厄介。
自分の記事リンク:メールの生データの最初の空行
###メーラー毎にある改行コードを調べた結果(2017/11/04現在)
メーラー | CR | LF | CRLF |
---|---|---|---|
iPhone標準メーラー | ○ | × | × |
Andoroid標準メーラー | ○ | × | ○ |
DecoMailer | ○ | × | ○ |
Outlook2016 for PC | ○ | × | ○ |
Gmail for WEB | ○ | × | × |
Gmail for iPhone | ○ | × | × |
これ以外の端末は手元にないので調べようがない。LF(\n)はどのメーラーでも使ってないようです。Andoroid標準メーラー、デコメーラー、OutlookはCR(\r)とCRLF(\r\n)が混在してるようです。まだ詳細を調べたわけではないので本文中に入ってる改行コードを拾ってるだけかもしれません。ヘッダとパートの区切り部分やパート毎の区切り部分の改行コードが統一されているようだったらまだやりようがあるんですが。とりあえず、本文を削除してみて改行コードが統一されているかどうかを調べる必要がありそうです。