ネットワークスペシャリスト 2013年 午前2 問16
問題文
“情報太郎”はMIMEで“=?ISO-2022-JP?B?GyRCPnBKc0JATzobKEI=?=”と表される。情報太郎のメールアドレスをtaro@example.jpとするとき、メールアドレスと表示名(情報太郎)を指定する、メールヘッダのFromフィールドとして適切なものはどれか。
選択肢
ア:From: <=?ISO-2022-JP?B?GyRCPnBKc0JATzobKEI=?=> taro@example.jp
イ:From: taro@example.jp =?ISO-2022-JP?B?GyRCPnBKc0JATzobKEI=?=
エ:From: taro@example.jp <=?ISO-2022-JP?B?GyRCPnBKc0JATzobKEI=?=>
🔒 解説は解答すると表示されます
表示名付きメールアドレス形式【午前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?GyRCPnBKc0JATzobKEI=?=>taro@example.jp
- encoded-wordを山括弧で囲んでいる。encoded-wordは表示名(phrase)であり、山括弧はaddr-specを囲むためのものなので誤り。さらにaddr-specが山括弧に入っておらずname-addr構文になっていない。
-
イ: From:taro@example.jp =?ISO-2022-JP?B?GyRCPnBKc0JATzobKEI=?=
- addr-specを先に山括弧で置き、その後に表示名(encoded-word)を置いている。RFCのname-addrでは表示名は通常addr-specの前に置く形式であり、表示名が後に来るのは標準的ではなく誤りと扱うべき。
-
ウ: From:=?ISO-2022-JP?B?GyRCPnBKc0JATzobKEI=?=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?GyRCPnBKc0JATzobKEI=?=>
- 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?GyRCPnBKc0JATzobKEI=?= 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ヘッダ、メールヘッダ

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

