戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

基本情報技術者 2009年 秋期 午前(科目A)38


問題文

インターネットにおける電子メールの規約で、ヘッダフィールドの拡張を行い、テキストだけでなく、音声、画像なども扱えるようにしたものはどれか。

選択肢

HTML
MHS
MIME(正解)
SMTP

インターネットにおける電子メールの規約で、ヘッダフィールドの拡張を行い、テキストだけでなく、音声、画像なども扱えるようにしたものはどれか。【午前2 解説】

要点まとめ

  • 結論:電子メールのヘッダと本文を拡張して画像や音声などの添付や多部品構成を可能にした規格は MIME です。
  • 根拠:MIME は Content-Type や Content-Transfer-Encoding 等のヘッダを定義し、非 ASCII データや複数パートを扱える仕様群(RFC 2045–2049)であるためです。
  • 差がつくポイント:SMTP は転送プロトコル、HTML は文書記述、MHS は別系統のメッセージ処理系であり、添付形式の拡張を指すのは MIME だけです。

正解の理由

正解:
MIME(Multipurpose Internet Mail Extensions)は電子メールにおける拡張規格で、メールのヘッダに Content-Type, Content-Transfer-Encoding, Content-Disposition 等を追加します。これによりテキスト以外(画像、音声、動画、アプリケーションデータなど)や文字セットの指定、複数パート(multipart/*)での添付ファイルの扱いが可能になります。RFC 2045~2049 に定義され、SMTP 等の転送プロトコルと組み合わせて使われます。

よくある誤解

  • SMTP 自体が添付やマルチパートを定義すると誤解されますが、SMTP はあくまでメール転送のプロトコルです。
  • HTML をメールの拡張そのものと勘違いして本文表示の記述言語と混同することが多いです。

解法ステップ

  1. 問題文のキーワード「ヘッダフィールドの拡張」「音声、画像」から「添付や非テキストデータを扱う規格」を想起する。
  2. 選択肢を照合:SMTP(転送プロトコル)、HTML(マークアップ言語)、MHS(Message Handling System、X.400 系など)を除外する。
  3. 残る MIME は「Multipurpose Internet Mail Extensions」でまさに多目的データの添付とヘッダ拡張を定義しているため正答と判定する。

選択肢別の誤答解説

  • ア: HTML — メール本文のリッチテキスト表示に使われるマークアップ言語であり、ヘッダ拡張や添付規格そのものではありません。
  • イ: MHS — Message Handling System(X.400 等)は別系統のメールシステム/業務用メッセージ規格で、Internet の MIME 拡張とは別物です。
  • ウ: — 正解。MIME はヘッダ拡張と非テキストデータを扱うための規格群です。
  • エ: SMTP — Simple Mail Transfer Protocol はメールの送信・転送プロトコルで、データの形式(添付やエンコーディング)は MIME が規定します。

補足コラム

MIME の主要な要素:Content-Type(媒体タイプ、charset 指定)、Content-Transfer-Encoding(7bit/8bit/base64/quoted-printable)、Content-Disposition(attachment/inline とファイル名)。複数ファイルは multipart/mixed、HTML メールは multipart/alternative や text/html を用いる。MIME 自体はメールのフォーマット規定であり、送信・保存・取得には SMTP、POP3、IMAP 等のプロトコルが組み合わされます。参考 RFC: 2045–2049。
コード例(Python で簡単な MIME メールを作る例):
from email.message import EmailMessage
import base64

msg = EmailMessage()
msg['Subject'] = '画像添付'
msg['From'] = 'sender@example.com'
msg['To'] = 'recipient@example.com'
msg.set_content('本文(テキスト)')

with open('image.png', 'rb') as f:
    img_data = f.read()
msg.add_attachment(img_data, maintype='image', subtype='png', filename='image.png')

print(msg.as_string())

FAQ

Q: MIME はどの RFC に定義されていますか?
A: 主に RFC 2045、2046、2047、2048、2049 の一連が MIME の仕様を定めています。
Q: SMTP だけで添付ファイルは送れないのですか?
A: SMTP は転送経路を提供しますが、添付ファイルの表現(バイナリを ASCII に変換するなど)は MIME のエンコーディング(base64 等)で定義されます。
Q: HTML メールと MIME の関係は?
A: HTML を本文にする場合でも MIME の Content-Type: text/html や multipart/alternative を使って送ります。HTML は表示形式、MIME はメールメッセージの構造を定義します。

関連キーワード: MIME, Content-Type, Content-Transfer-Encoding, multipart, Base64, SMTP, メール添付, RFC
← 前の問題へ次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

基本情報技術者
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について