iPhoneからmultipart/alternativeなメールが届く

iPhone からメールを送信する際

  1. 本文がひらがななど非ASCII文字を含む場合
  2. 本文がASCIIのみで構成される場合

でMIMEを切り替えるようだ。

前者の場合、「text/plain」のみで送信する。
後者の場合、「text/plain」と「text/html」のマルチパート(multipart/alternative )メールを送信するようだ。
自分が担当しているシステムのメール受け取り部では、「text/plain」でしかメールが届かないことを想定し

メールヘッダー
空行
本文

のフォーマット決め打ちでプログラムされており、最初に見つかった空行の次の1行をチェックするようになっていた。
しかし、multipart で届くと

メールヘッダー
空行
空行
バウンダリー
メールヘッダー(text/plain)
本文
空行
バウンダリー
メールヘッダー(text/html)
本文

というようになり、本文1行目を取得するつもりが、空行を取得していた。
そのため、メールに含まれていた本文は一切取得できず、入力不備としてエラー処理していた。

本来であれば、メールパーサーライブラリを利用して汎用性のある形で本文を読み込めばいいのだろうけど、保守作業時間と緊急対応ということを考慮して、こそくな手段で回避。後任の人が困るかもしれないけど、、、

メールをトリガーにして動いているシステムで iphone をご利用のお客さまから苦情を頂き判明。

Advertisements
Tagged with: , , , , ,
Posted in mobile

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Archives
%d bloggers like this: