Lから始まるLinux

6章17話
Postfix
6章18話 S-nail
もくじ
7章1話
Raspberry Pi
S-nail
若木 みどり
前回は MTA である Postfix を 設定して起動したよ!
若木 しげる
MTA に対してメールクライアントソフトを 「MUA(mail user agent)」とよぶよ Linux の MUA は伝統的に mail, mailx, nail などなんだ 今回はこれらの操作を引き継いだ MUA の S-nail を使ってメールを送受信してみよう!
インストール
若木 しげる
S-nail のパッケージ名は s-nail だよ パッケージ管理システムから インストールしよう
sudo apt install -y s-nail
若木 みどり
うん!インストールしたよ!
メール送信
若木 しげる
以下のようにしてメールを送信するよ
s-nail -s 件名 ユーザ
若木 しげる
以下のようにして僕へメールを送ってみてね
s-nail -s "テスト送信" shigeru
若木 みどり
うん!
To: shigeru
Subject: テスト送信

若木 みどり
なるほど!ここに本文を書いていけばいいのね!
若木 しげる
終了は Ctrl + D か~. と入力だよ
-------
(Preliminary) Envelope contains:
To: shigeru
Subject: テスト送信
Send this message [yes/no, empty: recompose]? 
若木 みどり
最後の行は「メッセージを送りますか?」だね!yes で送信されるということだね!
若木 しげる
うん省略形の y だけでもいいんだ
若木 みどり
プロンプトが返ってきたよこれでメール送信完了なんだね!
若木 しげる
入力リダイレクトやパイプなどを使って入力を与えると非対話的な動作になるよ
s-nail -s "テスト送信" shigeru << \EOF
テスト送信の本文です!
EOF
メール閲覧
若木 しげる
メール閲覧は s-nailそのまま実行しよう!
s-nail
若木 みどり
うん!
s-nail version v14.9.24.  Type `?' for help
/var/mail/midori: 1 message 1 new
▸N  1 shigeru@localhost 2025-01-18 17:24   18/638   兄より
? 
若木 みどり
あっ!お兄ちゃんからメールが届いている!
若木 しげる
対話的動作の s-nail では以下のコマンドを受け付けるんだ
コマンド省略形説明
headershメール一覧
nextn次のメール
deletedメール削除
replyrメール返信
ReplyRメール返信(送り主だけ)
quitq変更を保存して終了
xit, exitx, e変更を破棄して終了
??ヘルプを表示
若木 しげる
数字 を入れるとその番号のメールが表示されるよ何も入力せず Enter を押すと今見ているメール() を表示するんだ
若木 みどり
じゃあ Enter だけ入力するね
Date: Sat, 18 Jan 2025 17:24:48 +0900
To: midori@localhost
Subject: テスト送信
Message-Id: <20250118082448.BFFA11F5CF5@localhost>
From: shigeru@localhost

おめでとう!
コマンドだけでメールを見れるようになったんだね
メール送信機能を持つデーモンもあるし
シェルスクリプトからメールを送信してもいいんだ
何か問題が発生したらメール送信するようにしておくと
問題の早期発見に役に立つよ!
メール通知
若木 みどり
メールが届いていたらお知らせがあると助かるなぁ
若木 しげる
以下のオプションでメール確認ができるよ
オプション役割
-eメールボックスにメールがあるかを確認。あるなら成功、ないなら失敗
-Hメール一覧を表示
若木 しげる
~/.bashrc に書いておけばログインのたびに通知を出せるんだ
若木 みどり
-e オプションは全て既読でもメールがあれば成功になっちゃうんだね新着や未読メールがあることを知りたい場合はどうすればいいのかな?
若木 しげる
メール一覧の出力から判断しよう以下のようなコマンドはどうかな?
s-nail -H | grep -sqm1 '^[▸ ][NU]' \
    && echo "新着/未読メールがあります!"
若木 みどり
お兄ちゃん、ありがとう!これを ~/.bashrc に書いて置くよ!
まとめ
若木 みどり
今回は S-nail を扱ったよ!メール送受信をしてくれるんだ!
若木 しげる
他にも以下のような MUA があるよ自分の使いやすい MUA でメールを扱おう!
  • procmail
  • fetchmail
  • mutt