はじめに
みなさま、muttコマンドを活用されていますでしょうか?
以前ご紹介した swaks は、メールサーバーに対して送信テストをおこなうためのコマンドでした。
muttは、メールの送信から受信確認まで行うことができます。サーバーにSSHログインしていれば、そのままターミナル上でメールの送信から受信確認まで完結できます。
そんなmuttコマンドについて、紹介させていただきます。
環境
OS : AlmaLinux 9
muttバージョン : 2.2.6
使い方
利用するにあたって、まずはインストールします。
$ dnf install -y mutt
メールボックスの場所を~/.muttrc に設定しておくことで、いちいち指定しなくてすみます。
set mbox_type=Maildir
set spoolfile="/var/qmail/mailnames/example.co.jp/test/Maildir"
それでは、メールを送信してみましょう。
まずは、対話形式で
$ mutt -s "test mail 01" test@example.co.jp
宛先と件名に修正がなければ、Enterを押します。エディタが開くので本文を入力し保存すます。
送信確認でyを入力すれば送信されます。
y:Send q:Abort t:To c:CC s:Subj a:Attach file d:Descrip ?:Help
From: test <test@example.co.jp>
To: test@example.co.jp
Cc:
Bcc:
Subject: test mail 01
Reply-To:
Fcc: ~/sent
Security: None
-- Attachments
- I 1 /tmp/mutt-plesk-0-2113789-395989261______[text/plain, 7bit, us-ascii, 0.1K]
つづいて、添付ファイル付きメールを送信します。
$ cat tempfile.txt
添付ファイルです。
$
-a オプションで、添付ファイルを指定します。
$ mutt -s "test mail 02" -a ./tempfile.txt -- test@example.co.jp
先ほどと同様に最後に本文を入力して保存します。送信確認でyを入力すれば送信されます。
y:Send q:Abort t:To c:CC s:Subj a:Attach file d:Descrip ?:Help
From: test <test@example.co.jp>
To: test@example.co.jp
Cc:
Bcc:
Subject: test mail 02
Reply-To:
Fcc: ~/sent
Security: None
-- Attachments
- I 1 /tmp/mutt-plesk-0-2114047-181218871______[text/plain, 8bit, utf-8, 0.1K]
A 2 ./tempfile.txt
ワンライナーで送信する場合は、以下のように実行します。
echo "ワンライナーで送信します。" | mutt -s "test mail 03" test@example.co.jp
では、メールの受信確認をしてみましょう。
-f でメールボックスを指定します。
※~/.muttrc に spoolfile を設定していれば、オプション不要です。
$ mutt -f /var/qmail/mailnames/example.co.jp/test/Maildir
以下のようにメールボックス内のメールの一覧が表示されます。
q:Quit d:Del u:Undel s:Save m:Mail r:Reply g:Group ?:Help
1 N F Sep 18 To test@example (0.1K) test mail 01
2 N F Sep 18 To test@example (0.3K) test mail 02
3 N F Sep 18 To test@example (0.1K) test mail 03
1通目が選択されている状態で、Enterを押します。
i:Exit -:PrevPg <Space>:NextPg v:View Attachm. d:Del r:Reply j:Next ?:Help
Date: Fri, 18 Sep 2026 11:47:20 +0900
From: test <test@example.co.jp>
To: test@example.co.jp
Subject: test mail 01
test mail 01
1通目のメールの内容が確認できました。
i で一覧表示に戻ります。
q:Quit d:Del u:Undel s:Save m:Mail r:Reply g:Group ?:Help
1 F Sep 18 To test@example (0.1K) test mail 01
2 N F Sep 18 To test@example (0.3K) test mail 02
3 N F Sep 18 To test@example (0.1K) test mail 03
l で簡易的な検索ができます。
Limit to messages matching:
上記のような表示がされるので、~N と入力します。するの未読(N)のみリストされます。
q:Quit d:Del u:Undel s:Save m:Mail r:Reply g:Group ?:Help
2 N F Sep 18 To test@example (0.3K) test mail 02
3 N F Sep 18 To test@example (0.1K) test mail 03
2通目が選択された状態でEnterを押して、メールの内容を確認します。
i:Exit -:PrevPg <Space>:NextPg v:View Attachm. d:Del r:Reply j:Next ?:Help
Date: Fri, 18 Sep 2026 11:49:32 +0900
From: test <test@example.co.jp>
To: test@example.co.jp
Subject: test mail 02
[-- Attachment #1 --]
[-- Type: text/plain, Encoding: 8bit, Size: 0.1K --]
添付ファイル付きです。
[-- Attachment #2: tempfile.txt --]
[-- Type: text/plain, Encoding: 8bit, Size: 0.1K --]
添付ファイルです。
こんな感じで添付ファイルも確認できます。r で返信(Rely)してみましょう。
送信時と同じように、宛先、件名の確認がって、下記表示がされます。
本文を追記する場合はyを押します。
Include message in reply? ([yes]/no/?):
内容に問題がなければ、yを押して送信します。
y:Send q:Abort t:To c:CC s:Subj a:Attach file d:Descrip ?:Help
From: test <test@example.co.jp>
To: test@example.co.jp
Cc:
Bcc:
Subject: Re: test mail 02
Reply-To:
Fcc: ~/sent
Security: None
-- Attachments
- I 1 /tmp/mutt-plesk-0-2115241-565329011______[text/plain, 8bit, utf-8, 0.1K]
q でメールボックス一覧からぬけたあと、先度メール一覧を確認してみましょう。
mutt -f /var/qmail/mailnames/example.co.jp/test/Maildir
返信したメールが届いてそうですね。
q:Quit d:Del u:Undel s:Save m:Mail r:Reply g:Group ?:Help
1 F Sep 18 To test@example (0.1K) test mail 01
2 r F Sep 18 To test@example (0.3K) test mail 02
3 O F Sep 18 To test@example (0.1K) test mail 03
4 O F Sep 18 To test@example (0.1K) Re: test mail 02
まとめ
いかがでしたか?
muttを使えば、送信(添付ファイル付きも)、受信確認(簡易的な検索も)、返信まで、SSHでログインしたその状態で完結します。
OS標準のmailコマンドでも同じようなことはできますが、より高機能なツールになっています。
今回は対象サーバーのローカルで送受信していますが、リモートのサーバーを指定した送受信にも対応しているようなので、いろいろな環境で活用できるかと思います。

