メーラーの設定に問題はないのに、返信や転送をしたときにだけ文字化けが発生する状態が発生していました。対応時にはまってしまいましたので、備忘録として残しておきます。
概要
Exchange Online を利用している環境で、メールを返信したり転送したりすると、件名や送受信者名が文字化けを起こす状態が発生しました。すべてのメールに対して発生するわけではなく、特定に文字などが含まれたメールを返信・転送する際に発生している状態でした。
PowerShell で Exchange Online に接続し、「PreferredInternetCodePageForShiftJis」のパラメータ値を指定することで改善できる場合があります。
詳細
文字化けが発生する場所
以下の場所の2バイト文字に対して文字化けが発生するようです。
- 送信者の表示名
- 受信者の表示名
- メッセージの件名
- 添付ファイルのファイル名
- メッセージ本文
私の環境では文字化けで以下の文字が表示されました。
- 恐糸
- 側6飴
- ・6飴
- 忍6飴
文字化けを起こさないようにする方法
この作業は
- PowerShell で Exchange Online に接続する
- コマンドでコードページ「PreferredInternetCodePageForShiftJis」に「50220」を指定する
の流れになります。
この作業は選定完了以降のメールに対して有効です。すでに文字化けを起こしているメールについては元に戻すことができませんのでご注意ください。
Exchange Online に接続する
管理者権限で PowerShell を起動します。
以下を実行します。
Set-ExecutionPolicy RemoteSigned
実行すると実行ポリシーに関する警告が表示されますので、「Y」を入力して「Enter」キーを押します。
以下を実行して「Exchange Online PowerShell V2 モジュール」をインストールします。
Install-Module -Name ExchangeOnlineManagement Import-Module ExchangeOnlineManagement
以下を実行し、Exchange Online PowerShell に接続します。
-UserPrincipalName には管理者権限が割り当てられたアカウントの情報を入力ください。
Connect-ExchangeOnline -UserPrincipalName hogehoge@hogehoge.co.jp
パスワードの入力を求められた場合は、上で指定したアカウントのパスワードを入力し、「サインイン」をクリックします。
PreferredInternetCodePageForShiftJis のデフォルト値を 50220 変更する
以下を実行し、組織全体の「PreferredInternetCodePageForShiftJis」のデフォルト値を「50220」に変更します。
Set-OrganizationConfig -PreferredInternetCodePageForShiftJis:50220
続いて以下を実行し、組織外ドメインの「PreferredInternetCodePageForShiftJis」のデフォルト値を「50220」に変更します。
Get-RemoteDomain | Set-RemoteDomain -PreferredInternetCodePageForShiftJis:50220
PreferredInternetCodePageForShiftJis のデフォルト値を確認する
以下を実行し、組織全体の「PreferredInternetCodePageForShiftJis」のデフォルト値を確認します。
Get-OrganizationConfig | select PreferredInternetCodePageForShiftJis
以下を実行し、組織外ドメインの「PreferredInternetCodePageForShiftJis」のデフォルト値を確認します。
Get-RemoteDomain |select Name , PreferredInternetCodePageForShiftJis
PreferredInternetCodePageForShiftJis のデフォルト値を初期化する
以下を実行し、組織全体の「PreferredInternetCodePageForShiftJis」のデフォルト値を初期化します。
Set-OrganizationConfig -PreferredInternetCodePageForShiftJis:0
続いて以下を実行し、組織外ドメインの「PreferredInternetCodePageForShiftJis」のデフォルト値を初期化します。
Get-RemoteDomain | Set-RemoteDomain -PreferredInternetCodePageForShiftJis:0
おわりに
メールを返信や転送をした際、件名や送受信者名などが文字化けする場合についての対処方法を紹介しました。
文字化けを起こしてしまうと重要な情報を見落とす場合もありますし、相手によってはスパムメールとして処理されてしまうことがありますので、事象が確認されれば対応を行うことをおすすめします。
また、半角カナや環境依存文字が含まれた場合に発生しているような傾向もあったため、可能であればそういった文字の利用も避けた方がいいと思います。