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インデックス

推薦する

MySQL クエリ キャッシュのグラフィカルな説明

目次1. 原則の概要クエリキャッシュシステム変数1. クエリキャッシュを持つ2. クエリキャッシュ制...

州と市町村の連携を簡単に実現するJavaScript

この記事では、省と市の簡単な連携を実現するためのJavaScriptの具体的なコードを参考までに紹介...

Vueはダイアログのカプセル化を実装します

目次Vue2 ライティングVue3プラグインのバージョンの記述Vue3 動的コンポーネントの記述書き...

DockerHubを自分で構築する方法

先ほど使用したDocker HubはDockerによって提供されています。独自のDockerを構築す...

Alibaba Cloud Centos7.X で外部にポートを開く方法

一言で言えば、大手メーカーからクラウド サーバーを購入する場合は、セキュリティ グループに移動して、...

MySQLデータベースを作成し、中国語の文字をサポートする方法

まずMySQLの公式ドキュメントを見てみましょう: 5.7 {データベース | スキーマ} を作成 ...

JavaScript インスタンス オブジェクトでプロトタイプ メソッドをオーバーライドする方法の詳細

目次JavaScriptでは、通常、次のコードのようにクラスを簡単に定義できます。 var サンプル...

MySQL データベースのステートメント ワイルドカード ファジー クエリの概要

MySQL エラー: パラメータ インデックスが範囲外です (1 > パラメータ数、つまり 0...

mysql 5.7.23 winx64 解凍バージョンのインストールチュートリアル

参考までに、mysql-5.7.23-winx64 解凍版の詳細なインストールチュートリアルです。具...

React Hooksコンポーネント間で値を渡す方法の詳細な説明(tsを使用)

目次父から息子へ息子から父へクロスレベルコンポーネント(親から子孫)父から息子へpropsを通じて値...

MYSQL開発パフォーマンス調査:バッチデータ挿入の最適化方法

1. どのような問題に直面しましたか?標準 SQL では、通常、次の SQL 挿入ステートメントを記...

Alibaba Cloud ホストが IP を使用して Web サイトにアクセスできない問題の解決策 (セキュリティ グループ ルールを構成することで解決)

Alibaba Cloud ホストを購入したばかりで、その速度を試すのが待ちきれませんでした。しか...

Linux NFSメカニズムの動作原理と例の分析

NFS とは何ですか?ネットワークファイルシステムネットワーク上でファイルを保存および整理するための...

Alpine イメージに Ansible サービスを追加する方法

apk add ansible を使用して、alpine イメージに ansible サービスを追加...

WeChatアプレットの世界的な状況の詳細な説明

序文WeChat アプレットでは、App.js の globalData を中間ブリッジとして使用し...