ネットワークスペシャリスト 2013年 午前2 問16
問題文
“情報太郎”はMIMEで“=?ISO-2022-JP?B?GyRCPnBKcOJATzobKEI=?=”と表される。情報太郎のメールアドレスをtaro@example.jpとするとき、メールアドレスと表示名(情報太郎)を指定する、メールヘッダのFromフィールドとして適切なものはどれか。
選択肢
ア:From:<=?ISO-2022-JP?B?GyRCPnBKcOJATzobKEI=?=>taro@example.jp
イ:From:taro@example.jp =?ISO-2022-JP?B?GyRCPnBKcOJATzobKEI=?=
エ:From:taro@example.jp<=?ISO-2022-JP?B?GyRCPnBKcOJATzobKEI=?=>
🔒 解説は解答すると表示されます
表示名付きメールアドレス形式【午前2解説】
正解の理由
メールヘッダの表示名付きアドレスは、RFC 5322 の name-addr 形式(表示名(phrase)+山括弧で囲んだ addr-spec)で表します。表示名に日本語などの非ASCII文字を使う場合は RFC 2047 の encoded-word(=?...?B?...?= など)を用いてエンコードし、表示名(encoded-word)は山括弧で囲んだメールアドレスの前に置きます。したがって、表示名が MIME エンコードされた形で先に来て、その後に山括弧(尖括弧、< >)で囲まれた addr-spec が続く書式が正しいため、選択肢の中では ウ が適切です。
(補足)山括弧は「山括弧(尖括弧、< >)」を指し、角括弧は「角括弧([ ])」を指します。addr-spec を示すときは山括弧で囲むのが name-addr の構文です。
解法ステップ
- 表示名が MIME でエンコードされている(=?ISO-2022-JP?B?...?=)ことを確認する。これは表示名(phrase)に相当する。
- 表示名付きアドレスは name-addr 形式(phrase
)で書く必要があることを思い出す。 - name-addr の順序は「表示名(encoded-word)→空白→山括弧で囲まれたアドレス」である。表示名を山括弧の後に置くのは標準的ではない。
- 各選択肢が上の規則に従っているか確認し、表示名が先にきて山括弧でアドレスが囲まれているものを選ぶ(ウ)。
選択肢別の誤答解説
-
ア: From:<=?ISO-2022-JP?B?GyRCPnBKcOJATzobKEI=?=>taro@example.jp
- encoded-word を山括弧で囲んでいる。encoded-word は表示名(phrase)であり、山括弧は addr-spec を囲むためのものなので誤り。さらに addr-spec が山括弧に入っておらず name-addr 構文になっていない。
-
イ: From:taro@example.jp =?ISO-2022-JP?B?GyRCPnBKcOJATzobKEI=?=
- addr-spec を先に山括弧で置き、その後に表示名(encoded-word)を置いている。RFC の name-addr では表示名は通常 addr-spec の前に置く形式であり、表示名が後に来るのは標準的ではなく誤りと扱うべき。
-
ウ: From:=?ISO-2022-JP?B?GyRCPnBKcOJATzobKEI=?=taro@example.jp
- 表示名(encoded-word)を先に置き、続けて山括弧で addr-spec を囲んでいる。name-addr の正しい順序を満たすので適切。ただし実運用では表示名と山括弧の間に空白を入れるのが可読性と RFC の構文上も望ましい(例: =?ISO-2022-JP?B?...?= taro@example.jp)。
-
エ: From:taro@example.jp<=?ISO-2022-JP?B?GyRCPnBKcOJATzobKEI=?=>
- addr-spec をそのまま書いた後に山括弧で encoded-word を囲んでいる。順序が逆であり、また encoded-word を山括弧で囲むのは誤用。
よくある誤解
- 山括弧と角括弧を混同する:山括弧(尖括弧、< >)が addr-spec を囲むこと、角括弧([ ])は別用途(例: 参照表現や記述)であることを混同しやすい。
- 表示名の位置は自由だと思う誤解:表示名(phrase)は通常 addr-spec の前に置く(name-addr)。後置は非標準であり避ける。
- encoded-word を addr-spec の内部(山括弧内)に入れてよいと思う誤解:addr-spec 自体はメールアドレス構文であり、encoded-word をその内部に入れることはできない。
補足コラム
- 関連 RFC: 表示名と addr-spec の構文は RFC 5322(旧 RFC 2822)で定義され、非ASCII文字をヘッダフィールドで使うための encoded-word は RFC 2047 で定められています。
- 実務上の正しい書き方の例(可読性のため表示名と山括弧の間に空白を入れるのが一般的):
From: =?ISO-2022-JP?B?GyRCPnBKcOJATzobKEI=?= taro@example.jp
また、表示名が英字のみで特殊文字を含まない場合はエンコード不要で次のようにも書けます:
From: 情報太郎 taro@example.jp - 表示名にカンマや引用符など特殊文字が含まれる場合は quoted-string("...")と encoded-word を組み合わせるなど注意が必要です。
FAQ
Q1: encoded-word を山括弧の内側に入れても動作することはあるか?
A1: 一部の受信実装で誤動作して解釈される場合があっても、RFC 準拠では addr-spec の中に encoded-word を入れることはできません。互換性のためにも規格に従うことが重要です。
A1: 一部の受信実装で誤動作して解釈される場合があっても、RFC 準拠では addr-spec の中に encoded-word を入れることはできません。互換性のためにも規格に従うことが重要です。
Q2: 表示名の後に必ず空白が必要か?
A2: 可読性と多くの実装の互換性のために表示名と山括弧の間に空白を入れるのが推奨されます。厳密な構文的要件は CFWS(コメント・空白)扱いに関わるため、空白がある方が安全です。
A2: 可読性と多くの実装の互換性のために表示名と山括弧の間に空白を入れるのが推奨されます。厳密な構文的要件は CFWS(コメント・空白)扱いに関わるため、空白がある方が安全です。
Q3: 山括弧と角括弧の呼び方を忘れないコツは?
A3: 山括弧=尖った形(< >)でメールアドレスを囲む。角括弧=角ばった形([ ])で別用途。問題演習では「山括弧=メールアドレス囲み」と覚えると混同しにくいです。
A3: 山括弧=尖った形(< >)でメールアドレスを囲む。角括弧=角ばった形([ ])で別用途。問題演習では「山括弧=メールアドレス囲み」と覚えると混同しにくいです。
関連キーワード: MIME、encoded-word、RFC2047、RFC5322、name-addr、表示名、addr-spec、山括弧、Fromヘッダ、メールヘッダ

\ せっかくなら /
ネットワークスペシャリストを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

