Mac OS X の Mail.app を用いたメールの送信時に,Unicode文字のチェックを行い,必要に応じて文字の置換を行うとともに,日本国内で一般にメールのやり取りに用いられている ISO 2022-JP エンコーディングで送信を行うように設定するプラグインです。注:このプラグインには,受け取った文字化けしたメールを閲覧時に修正するための機能はありません。あくまでも,送信メールのテキストエンコーディングをISO 2022-JP に設定するためのプラグインです。
macOS 10.5 - 12.6 に対応
(macOS 10.9 - 10.15.7 に対応のバージョンは,2.9までとなります。また,Mac OS X 10.5 - 10.8.5 に対応のバージョンは,1.4.0までとなります。)
macOS 13 VenturaのMail.appは,内部構造が大幅に変更された結果,メール本文へのアクセス方法が不明であり,2022年10月現在、対応は困難な状況です。
2.6.0までのバージョンは、/Users/(ユーザ名)/Library/Mail/Bundles/ にプラグインのファイルをインストールしています。 「/Users/(ユーザ名)/Library」は,Finderのメニューの「移動」をOptionキーを押しながら開いて,「ライブラリ」を選択するとアクセスが可能です。 2.7.0以降では,/Library/Mail/Bundles/ にプラグインのファイルを作成します。
アンインストールしたい場合は,LetterFix.mailbundle をゴミ箱に移動して,Mail.appを再起動してください。
なお,macOS Mojave以降 では,Mail.appの環境設定内にある,プラグインの管理でチェックボックスを外しMail.appを再起動する必要があります。
標準状態のMail.appでメールを送信する時,次の2つのパターンで受信側で文面が文字化けする場合があります。
Mail.app は,ISO 2022-JP エンコーディングで送られてきたメールに返信する時,標準の UTF-8 + Base64 ではなくISO-2022-JP エンコーディングでメールを送信しようとします。この時に,返信の文面に Unicode 文字が含まれていると,ISO-2022-JP-2 というテキストエンコーディングでメールを送信します。このエンコーディングには,ほとんどのメールソフトが対応していませんので,Unicodeに対応していたとしても,高い確率でメールの文字化けが発生します。これが1つ目の問題です。
もう1つは,Unicodeに対応しない古いメールソフトで受信される場合です。Mail.appは,ASCII文字以外が文面に入っている場合,UTF-8 + Base64 エンコーディングでメールを送信するため,一部の受信メールソフトでは正しく表示が行われない可能性があります。
本プラグインは上記の問題に対して、ISO-2022-JPに変換できないUnicode文字を置き換えることで、ISO-2022-JPでメールを送信可能にします。またダイアログでUnicode文字をそのまま送信する選択をした場合にも,強制的に UTF-8 + Base64 エンコーディングに設定して送信することで問題の発生を防止します。
ファイルを添付したメールでは,件名等のヘッダーは UTF-8 + MIME エンコーディングで送信されます。また、High Sierra以降では,添付がない場合でも,ヘッダーがUTF-8+MIMEエンコーディングになります。
またメール本文の行毎の文字数が一定値を超えるとquoted-printable形式で 送信されることを防ぐことはできません。
このプラグインを作成するにあたり,
を参考にさせていただきました。
言語リストに日本語が含まれていない場合、警告を出すようにしました。
OS X 10.8 Mountain Lion に対応しました。
【6月18日追記】
署名を修正した1.2.0bを公開します。
【6月17日追記】
署名方法の不具合でLionでエラーが出てしまうため,1.2.0aの公開を中止しました。
【6月13日追記】
Mountain Lion beta対応のために,Installerパッケージに署名を追加しました。(1.2.0a)