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
なお、サーバーによっては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
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検索を行う方法も合わせてチェックしてみましょう。
-
Linuxターミナルを電卓として使う方法【bc・calc・qalc徹底解説】
派手なGUIアプリよりも、Linuxターミナルのシンプルさが好きという方は多いのではないでしょうか。ちょっとした計算をしたいときに、わざわざ電卓アプリを立ち上げる必要はありません。すでにシステムにインストールされている(はずの)ツールを使えば、ターミナル上でそのまま計算ができます。 この記事では、ディストリビューションを問わず使える、Linuxターミナルを電卓として活用する方法を詳しく解説します。 GNU bcで計算する bcは「basic calculator(基本電卓)」の略です。bcプログラム自体は1970年代のUnixに起源を持つ由緒あるツールで、GNU bcはその現代的で機能強化さ
-
Outlookでメールエイリアスから送信する方法|Office 365の設定手順を徹底解説
本ガイドでは、Office 365で作成したメールエイリアスからメッセージを「送信」できるように、Outlookを設定する方法を詳しく解説します。 ご存じのとおり、メールエイリアス宛てに届いたメッセージに返信する場合、「差出人(From)」フィールドにはエイリアスアドレスではなく、プライマリ(メイン)のメールアドレスが表示されます。エイリアスアドレスとして「送信」したい場合は、この記事の手順に従って設定を行ってください。 なぜ「差出人」にエイリアスが表示されないのか? Office 365ユーザーにメールエイリアスを作成すると、エイリアスアドレス宛てに届いたすべてのメッセージはユーザーのプライ