Linux コマンドラインでメールを送信する 5 つの方法 (推奨)

Linux コマンドラインでメールを送信する 5 つの方法 (推奨)

シェル スクリプトで電子メールを作成する必要がある場合は、コマンド ラインから電子メールを送信する知識を使用する必要があります。 Linux には電子メールを送信できるコマンドが多数あります。このチュートリアルでは、最も人気のある 5 つのコマンドライン メール クライアントについて説明します。そのうちの 1 つを選択できます。 5 つのコマンドは次のとおりです。

  • メール / mailx
  • 雑種
  • mパック
  • 送信メール
  • SMTP

仕組み

まず、Linux の mail コマンドが電子メールを受信者に配信する仕組みを大まかに説明します。 mail コマンドはメールを作成し、それをローカルのメール転送エージェント (sendmail、Postfix などの MTA) に送信します。メール サーバーはリモート メール サーバーと通信して、実際にメールを送受信します。以下のプロセスをより詳しく見ることができます。

1) Linuxにmail/mailxコマンドをインストールする方法

mail コマンドは、Linux ターミナルで電子メールを送信するために最もよく使用されるコマンドです。 mailx は、Berkeley Mail 8.1 に基づく mail コマンドの更新バージョンであり、POSIX mailx コマンドの機能を提供することを目的としており、MIME、IMAP、POP3、SMTP、および S/MIME 拡張機能をサポートしています。 mailx は、メール メッセージのバッファリング、スパムのスコアリングとフィルタリングなど、いくつかの対話型機能においてより強力です。 Linux ディストリビューションでは、mail コマンドは mailx コマンドへのソフト リンクです。次のコマンドを実行すると、公式ディストリビューションリポジトリから mail コマンドをインストールできます。

Debian/Ubuntu システムの場合は、APT-GET コマンドまたは APT コマンドを使用して mailutils をインストールします。

$ sudo apt-get install mailutils

RHEL/CentOS システムの場合は、YUM コマンドを使用して mailx をインストールします。

$ sudo yum install mailx

Fedora システムの場合は、DNF コマンドを使用して mailx をインストールします。

$ sudo dnf install mailx

1a) Linuxでメールコマンドを使用してメールを送信する方法

メールコマンドはシンプルで使いやすいです。添付ファイルを送信する必要がない場合は、次のメール コマンド形式を使用して電子メールを送信できます。

$ echo "これはメール本文です" | mail -s "件名" [email protected]

添付ファイルを送信する場合は、次のメール コマンド形式を使用します。

$ echo "これはメール本文です" | mail -a test1.txt -s "件名" [email protected]

-a: Red Hat ベースのシステムにアドオンを追加するために使用されます。
-A: Debian ベースのシステムで添付ファイルを追加するために使用されます。
-s: メッセージのタイトルを指定します。

2) Linuxにmuttコマンドをインストールする方法

mutt は、Linux ターミナルから電子メールを送信するためのもう 1 つの一般的なコマンドです。 mutt は、Unix オペレーティング システムで電子メールの読み取りと送信を行うための、小型ながら強力なテキストベースのプログラムです。カラー端末、MIME、OpenPGP、メール スレッド ソート モードをサポートしています。次のコマンドを実行すると、公式ディストリビューション リポジトリから mutt コマンドをインストールできます。

Debian/Ubuntu システムの場合は、APT-GET コマンドまたは APT コマンドを使用して mutt をインストールします。

$ sudo apt-get install mutt

RHEL/CentOS システムの場合は、YUM コマンドを使用して mutt をインストールします。

$ sudo yum install mutt

Fedora システムの場合は、DNF コマンドを使用して mutt をインストールします。

$ sudo dnf install mutt

2b) Linuxでmuttコマンドを使用してメールを送信する方法

使い方はmuttと同じくらい簡単です。添付ファイルを送信する必要がない場合は、次の mutt コマンド形式を使用して電子メールを送信できます。

$ echo "これはメール本文です" | mutt -s "件名" [email protected]

添付ファイルを送信する場合は、次の mutt コマンド形式を使用します。

$ echo "これはメール本文です" | mutt -s "件名" [email protected] -a test1.txt

3) Linuxにmpackコマンドをインストールする方法

mpack は、Linux ターミナルから電子メールを送信するためのもう 1 つの一般的なコマンドです。 mpack プログラムは、指定されたファイルを 1 つ以上の MIME メッセージにエンコードします。エンコードされたメッセージは 1 人以上の受信者に送信されます。次のコマンドを実行すると、公式ディストリビューションリポジトリから mpack コマンドをインストールできます。

Debian/Ubuntu システムの場合は、APT-GET コマンドまたは APT コマンドを使用して mpack をインストールします。

$ sudo apt-get mpackをインストール

RHEL/CentOS システムの場合は、YUM コマンドを使用して mpack をインストールします。

$ sudo yum install mpack

Fedora システムの場合は、DNF コマンドを使用して mpack をインストールします。

$ sudo dnf install mpack

3a) Linuxでmpackコマンドを使用してメールを送信する方法

mpack もシンプルで使いやすいです。添付ファイルを送信する必要がない場合は、次の mpack コマンド形式を使用して電子メールを送信できます。

$ echo "これはメール本文です" | mpack -s "件名" [email protected]

添付ファイルを送信する場合は、次の mpack コマンド形式を使用します。

$ echo "これはメール本文です" | mpack -s "件名" [email protected] -a test1.txt

4) Linuxにsendmailコマンドをインストールする方法

sendmail は、インターネットで広く使用されている汎用 SMTP サーバーです。また、sendmail を使用して、コマンド ラインから電子メールを送信することもできます。次のコマンドを実行すると、公式ディストリビューション リポジトリから sendmail コマンドをインストールできます。

Debian/Ubuntu システムの場合は、APT-GET コマンドまたは APT コマンドを使用して sendmail をインストールします。

$ sudo apt-get install sendmail

RHEL/CentOS システムの場合は、YUM コマンドを使用して sendmail をインストールします。

$ sudo yum install sendmail

Fedora システムの場合は、DNF コマンドを使用して sendmail をインストールします。

$ sudo dnf install sendmail

4a) Linuxでsendmailコマンドを使用してメールを送信する方法

sendmail もシンプルで使いやすいです。以下の sendmail コマンドを使用してメールを送信します。

$ echo -e "件名: テストメール\nこれはメール本文です" > /tmp/send-mail.txt
$ sendmail [email protected] < send-mail.txt

5) Linuxにssmtpコマンドをインストールする方法

ssmtp は sendmail に似たツールで、メールの送信のみを行い、受信は行いません。ローカル コンピューターから設定されたメール ホスト (メールハブ) にメールを転送できます。ユーザーは Linux コマンドラインで ssmtp を使用して、SMTP サーバーに電子メールを送信できます。次のコマンドを実行すると、公式ディストリビューション リポジトリから ssmtp コマンドをインストールできます。

Debian/Ubuntu システムの場合は、APT-GET コマンドまたは APT コマンドを使用して ssmtp をインストールします。

$ sudo apt-get install ssmtp

RHEL/CentOS システムの場合は、YUM コマンドを使用して ssmtp をインストールします。

$ sudo yum install ssmtp

Fedora システムの場合は、DNF コマンドを使用して ssmtp をインストールします。

$ sudo dnf install ssmtp

5a) Linuxでssmtpコマンドを使用してメールを送信する方法

ssmtp もシンプルで使いやすいです。電子メールを送信するには、次の ssmtp コマンド形式を使用します。

$ echo -e "件名: テストメール\nこれはメール本文です" > /tmp/ssmtp-mail.txt
$ ssmtp [email protected] < /tmp/ssmtp-mail.txt

要約する

上記は、編集者が紹介した Linux コマンドラインでメールを送信する 5 つの方法です。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。編集者がすぐに返信します。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

以下もご興味があるかもしれません:
  • Python 経由で Linux コマンドラインコード例に接続する
  • Linux コマンドラインのクイックヒント: ファイルの検索方法
  • Linux コマンドラインでパケットをキャプチャするために tcpdump を使用するいくつかの機能
  • Linux コマンドラインターミナルで画面を分割するための 2 つのツール
  • Linux のコマンドラインから Android アプリケーションをパッケージ化する方法
  • Linux で IP、DNS、ルーティングのコマンドライン設定を変更する方法
  • Linux コマンドラインで他のユーザーと通信する方法

<<:  Ant Design Blazor コンポーネントライブラリのルーティング再利用マルチタブ機能

>>:  初心者向けMySQLインデックス

推薦する

CentOS 6 または CentOS 7 でディスク領域をクリアする方法

以下は、CentOS 6 または CentOS 7 サーバーのディスク領域をクリアするための簡単なコ...

Centos7.3 Nginx をインストールして展開し、https を設定する方法

設置環境1. gccのインストールnginxをインストールするには、まず公式サイトからダウンロードし...

JavaScript ファクトリーパターンの説明

目次シンプルファクトリーファクトリーメソッド安全な工場方法アブストラクトファクトリー要約するシンプル...

CentOS 7 はネットワークカードを変更した後、インターネットにアクセスできません

不明なドメイン名 www.baidu.com を Ping するホストのIPアドレスを変更する右クリ...

テーブルを作成するための HTML dl、dt、dd タグとテーブル作成テーブル

ウェブサイトの開発とメンテナンスのコストが削減されるだけでなく、コードもよりセマンティックになります...

MySQLにデータを素早くインポートする方法

序文:日々の勉強や仕事の中で、データをエクスポートする必要に迫られることがよくあります。たとえば、デ...

MySQLで適切なインデックスを選択する方法

まずは栗を見てみましょう EXPLAIN select * from employees where...

単一の Nginx IP アドレスに複数の SSL 証明書を設定する例

デフォルトでは、Nginx は IP アドレスごとに 1 つの SSL 証明書のみをサポートします。...

Docker ベースの MySQL マスタースレーブ レプリケーションを実装する方法

序文MySQL マスター/スレーブ レプリケーションは、アプリケーションの高パフォーマンスと高可用性...

JavaScript の構造化代入の一般的なシナリオと例 5 つ

目次序文1. データを抽出する2. エイリアス値3. 動的プロパティ4. オブジェクトの分解における...

vue-element-admin プロジェクトのインポートとエクスポートの実装

vue-element-admin インポートコンポーネントのカプセル化テンプレートとスタイルまず、...

CSSのoutline-offsetプロパティを使用してプラス記号を実装する

次のような初期コードがあると仮定します。 <!DOCTYPE html> <htm...

jQuery+swiper コンポーネントはタイムラインのスライド年タブ切り替え効果を実現します

結果: 実装コード: スワイパーコンポーネントと一緒に使用する必要がありますSwiper 基本デモア...

Vue3ナビゲーションバーコンポーネントのカプセル化実装方法

参考までに、Vue3でナビゲーションバーコンポーネントをカプセル化し、スクロールバーのスクロールに合...