Linux便利コマンド : mutt

うめだ
2026-09-24
2026-09-24
目次

はじめに

みなさま、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コマンドでも同じようなことはできますが、より高機能なツールになっています。

今回は対象サーバーのローカルで送受信していますが、リモートのサーバーを指定した送受信にも対応しているようなので、いろいろな環境で活用できるかと思います。