Linux
 Computer >> コンピューター >  >> システム >> Linux

Linuxターミナルからメールを送信する4つの方法(mail・sendmail・telnet・mutt)

Linuxターミナルからメールを送信する4つの方法(mail・sendmail・telnet・mutt)

Linuxのターミナルは、わずかなキー操作だけで多彩なタスクを実行できる強力な環境です。日頃からターミナルで作業することが多い方なら、メールもターミナルから直接送信できることをご存じでしょうか。本記事では、Linuxターミナルからメールを送信するための代表的な4つの方法とツールを、具体的なコマンド例とともにわかりやすく解説します。

注意:ターミナルからメールを送信するには、あらかじめメールサーバーがセットアップされ、正常に動作している必要があります。

1. mailコマンドを使う

Linuxターミナルからメールを送信する最もシンプルな方法が、mailユーティリティの利用です。宛先や件名を指定できるのはもちろん、オプションを使えば添付ファイルを追加することも可能です。

多くのLinuxディストリビューションには、mailユーティリティがデフォルトでインストールされています。以下のwhichコマンドを実行して、インストール済みかどうかを確認しましょう。

which mail

「/usr/bin/mail」という結果が返ってくれば、すでにインストールされています。もし見つからない場合は、お使いのディストリビューションのパッケージマネージャーでインストールしてください。Debian系の場合は、次のコマンドを実行します。

sudo apt-get update && sudo apt-get install mailutils

mailコマンドでメールを送信する際は、-sオプションで件名を指定します。たとえば、「message.txt」に保存した本文を送信するには、次のように入力します。

mail -s "Hello world" info@mail.com < message.txt

このコマンドは、ファイルの内容を読み込み、そのままメール本文として送信します。

また、echoなどのコマンドの出力をパイプで渡して、本文を指定することもできます。

echo "This is the message body" | mail -s "Hello world" info@mail.com

添付ファイルを追加したい場合は、-Aオプションを使用します。

echo "Sample odt file" | mail -s "Attachments" info@mail.com -A ~/Documents/sample.odt

2. sendmailを使う

次に紹介するのはsendmailです。シンプルながら非常に強力なユーティリティで、ターミナルからのメール送信を手軽に行えます。

インストールされていない場合は、次のコマンドで導入できます。

sudo apt-get install sendmail sendmail-cf -y

sendmailを使うには、まずメールの内容を記述したテキストファイルを作成します。

Subject: Hello World!
This is the message body
....
.....
....
...
close.

sendmailは「Subject:」ヘッダーを自動的に認識し、その内容をメールの件名として扱います。作成したファイルは、次のコマンドで送信できます。

cat sendmail.txt | /usr/sbin/sendmail info@mail.com

3. telnetを使う

リモートサーバーでの作業が中心の方にとって、telnetはメール送信の定番ツールといえるでしょう。ターミナルを起動し、次のコマンドを入力します。

telnet test.server.net 25

メールサーバーが別のポートで稼働している場合は、「25」を実際のポート番号に置き換えてください。接続が確立したら、サーバーに対して挨拶(ハンドシェイク)を行います。

helo example.com
Linuxターミナルからメールを送信する4つの方法(mail・sendmail・telnet・mutt)

なお、サーバーによってはheloではなくehloでの応答を求める場合や、どちらでも受け付ける場合があります。

続いて、送信元のメールアドレスを設定します。

MAIL FROM: info@example.com

次に、宛先(受信者)のアドレスを設定します。

RCPT TO: demo@info.com

以下の形式でメール本文を作成します。本文の終わりはピリオド「.」のみの行で示し、最後にQUITでセッションを閉じます。

DATA
Subject: Hello world
Hello world,
This is the body of the email
Proceed here and terminate with
.
Finally, close the telnet session with quit.
QUIT
Linuxターミナルからメールを送信する4つの方法(mail・sendmail・telnet・mutt)

4. muttを使う

muttは、ターミナル上でメールの送受信を快適に行える人気のユーティリティです。基本的な使い方はmailコマンドとよく似ています。インストールするには、次のコマンドを実行します。

sudo apt-get install mutt

muttでメールを送信するには、次のようにコマンドを入力します。

cat sendmail.txt | mutt -s "Hello world" info@mail.com

このコマンドでは、sendmail.txtの内容がメール本文としてmuttに渡されて送信されます。

まとめ

ターミナルのみで作業する環境では、Linuxターミナルから直接メールを送信できると非常に便利です。今回紹介したmail、sendmail、telnet、muttの4つの方法を状況に応じて使い分けてみてください。さらに活用したい方は、lpコマンドでターミナルからファイルを印刷する方法や、SコマンドでターミナルからWeb検索を行う方法も合わせてチェックしてみましょう。

  1. Linuxターミナルを電卓として使う方法【bc・calc・qalc徹底解説】

    派手なGUIアプリよりも、Linuxターミナルのシンプルさが好きという方は多いのではないでしょうか。ちょっとした計算をしたいときに、わざわざ電卓アプリを立ち上げる必要はありません。すでにシステムにインストールされている(はずの)ツールを使えば、ターミナル上でそのまま計算ができます。 この記事では、ディストリビューションを問わず使える、Linuxターミナルを電卓として活用する方法を詳しく解説します。 GNU bcで計算する bcは「basic calculator(基本電卓)」の略です。bcプログラム自体は1970年代のUnixに起源を持つ由緒あるツールで、GNU bcはその現代的で機能強化さ

  2. Outlookでメールエイリアスから送信する方法|Office 365の設定手順を徹底解説

    本ガイドでは、Office 365で作成したメールエイリアスからメッセージを「送信」できるように、Outlookを設定する方法を詳しく解説します。 ご存じのとおり、メールエイリアス宛てに届いたメッセージに返信する場合、「差出人(From)」フィールドにはエイリアスアドレスではなく、プライマリ(メイン)のメールアドレスが表示されます。エイリアスアドレスとして「送信」したい場合は、この記事の手順に従って設定を行ってください。 なぜ「差出人」にエイリアスが表示されないのか? Office 365ユーザーにメールエイリアスを作成すると、エイリアスアドレス宛てに届いたすべてのメッセージはユーザーのプライ