108.3基礎
mail commandへ標準入力から本文を渡し、件名をTest、宛先をrootにする。
実際の配送は行わず構文を選ぶ。
適切なコマンドはどれか。
× 不正解
一般的なmail commandは標準入力を本文、-sを件名、位置引数をrecipientとして扱う。
詳細解説
誤り
printf 'body\n' | mail -r Test root-rは差出人address用で件名ではない。
誤り。-r TestはTestを差出人addressとして扱おうとし、件名をTestにしない。
誤り
printf 'body\n' | mail root -f Test-fはmailbox fileを読む等の用途で件名指定ではない。
誤り。-fはmailbox file等の選択に使われる実装があり、subject optionではない。
誤り
mail -q Test root < body-qは標準的な件名optionではなく、bodyもfile名として前提不明である。
誤り。-qは一般的なsubject指定ではなく、入力redirect先body fileの存在も前提にない。
正しい
printf 'body\n' | mail -s Test root-sで件名、引数rootでrecipientを指定する。
正しい。printfの出力が本文、-s Testが件名、rootがrecipientになる。
実際に確かめる
一時的な検証環境で実行できる例です。
mail --help 2>&1 | grep -E -- '--subject| -s' | head -n 1期待される結果
-sまたはsubjectのhelp行(mail実装により形式は異なる)理解のポイント
- 本文は標準入力
- -sはsubject
- 宛先は位置引数
確認時の注意
- 確認環境: mail helpの読取のみ
- 外部・local配送は検証しない。
基礎のおさらい
mail実装差
mailx、s-nail等でoptionや送信者指定の詳細が異なるため、対象環境のmanualを確認する。
local MTA
mail clientがmessageを受けても実際の配送にはlocal MTAまたはsubmission設定が必要で、client成功と最終配送成功は別である。
問題IDKP-108-760
確認環境mail helpの読取のみ
最終技術確認2026-08-13
誤り・権利侵害を報告