電子メールを送信するアプリを持っていますが、何ヶ月も正常に機能していました。最近utf-8
、iPhone に送信されたエンコードされた電子メールに問題がありましたExchange account
(つまり、そうではありませんIMAP
)。
受信者が見なければならなかったのは、 のような無意味な文字の集まりだけでしたLS0tLS0tPV9QYXJ0XzE0N18[....]
。
メールのヘッダーを Gmail と比較するContent-Transfer-Encoding
と、Content-Type: multipart/alternative;
.
私のメールは次のようになります
Delivered-To: ...
Received: ...
...
MIME-Version: ...
Content-Type: multipart/alternative;
boundary="----=_boundary"
Content-Transfer-Encoding: Base64 # <= the extra setting
----=_boundary
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: Base64
YmVu0Cg==
----=_boundary
Content-type: text/html; charset=utf-8
Content-Transfer-Encoding: Base64
PGh0bWwgeG1sbnM6bz0iIj48aGVhZD48dGl0bGU+PC90aXRsZT48L2hlYWQ+PGJvZHk+YmVub2l0
PC9ib2R5PjwvaHRtbD4NCjx9IjAiIC8+Cg==
----=_boundary
余分な設定を削除すると、メールが受信され、正しく表示されます。
私の質問:
- 特定の場合でも、
Encoding
基本的には設定が必要ですか?Content-Type: multipart/alternative;
- それを削除して、以前と同じようにアプリを使い続けても安全ですか?
私が見つけた編集IETF
:
エンコーディングに関する考慮事項: マルチパート コンテンツ タイプはエンコーディングを持つことができません。
しかし、私も見つけましたWikipedia
:
マルチパート タイプの content-transfer-encoding は、複数レベルのデコードによって引き起こされる複雑さを回避するために、常に「7 ビット」、「8 ビット」、または「バイナリ」でなければなりません。
矛盾していませんか?