前回は 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
では以下のコマンドを受け付けるんだコマンド | 省略形 | 説明 |
---|---|---|
headers | h | メール一覧 |
next | n | 次のメール |
delete | d | メール削除 |
reply | r | メール返信 |
Reply | R | メール返信(送り主だけ) |
quit | q | 変更を保存して終了 |
xit , exit | x , 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