Linux
 Computer >> コンピューター >  >> スマートフォン >> Linux

Linuxコマンドラインからメールを送信する方法

このガイドでは、Linuxコマンドラインからシェルスクリプトを介して電子メールを送信する方法と、それらの電子メールに添付ファイルを追加する方法について説明します。

Linuxコマンドラインは、その使用方法を理解すれば非常に強力になります。データを解析し、プロセスを監視し、バックアップを自動化し、それを使用して他の多くの便利でクールなことを行うことができます。多くの場合、レポートを生成してメールで送信する必要があります。その日のバックアップが正常に実行されたか、実行されなかったかを通知するのと同じくらい単純な要件である可能性があります。 Linuxコマンドラインからのメール送信の開始をお手伝いしますおよび シェルスクリプトで。コマンドラインからの添付ファイルの送信についても説明します。 「メール」コマンドから始めます。

メールコマンド

最初にクイックテストを実行して、「sendmail」アプリケーションがインストールされ、正しく機能していることを確認します。 「you@youremailid.com」を自分のメールアドレスに置き換えて、次のコマンドを実行します。

mail -s“ Hello world” you@youremailid.com

リターンキーを押すと、新しい行が表示されます。 「これは私のサーバーからのテストです」というテキストを入力します。もう一度リターンキーを押して、テキストをフォローアップします。次に、 Control + Dのキーの組み合わせを押します 続ける。コマンドプロンプトで、メールのコピーを他のアドレスにマークするかどうかを尋ねられたら、 Control + Dを押します。 また。メールボックスを確認してください。このコマンドは、件名が「Helloworld」である電子メールIDにメールを送信します。

コマンドの実行中にメールの本文にコンテンツを追加するには、次のオプションを使用できます。自分でテキストを追加したい場合:

echo「これはメールの本文に入ります。」 | mail-s「Helloworld」you@youremailid.com

また、メールでファイルのコンテンツを読み取れるようにする場合:

mail -s“ Hello world” you@youremailid.com

mailコマンドの他の便利なオプションは次のとおりです。

-主題 (メールの件名)
-cメールアドレス (この「メールアドレス」またはCCにコピーをマークしてください)
-b email-address (この「メールアドレス」またはBCCにブラインドカーボンコピーをマークします)

これらのオプションの使用方法は次のとおりです。

echo「CalvinnHobbesの世界へようこそ」| mail-s「Helloworld」calvin@cnh.com-chobbes@cnh.com -b susie.derkins@cnh.com

電子メールの添付ファイルにMUTTを使用する

mailコマンドを使用することの主な欠点の1つは、添付ファイルの送信をサポートしていないことです。一方、muttはそれをサポートします。この機能は、他の場所でバックアップしたい比較的サイズが小さい非テキストレポートまたはバックアップを生成するスクリプトに特に役立つことがわかりました。もちろん、muttを使用すると、添付ファイルを送信するだけでなく、さらに多くのことを実行できます。これは、「mail」コマンドよりもはるかに完全なコマンドラインメールクライアントです。今は、頻繁に必要になる可能性のある基本的なものについて説明します。メールにファイルを添付する方法は次のとおりです。

echo「添付ファイルの送信」。 | mutt -a backup.zip -s“ attachment” calvin@cnh.com

このコマンドは、件名(-s)「添付ファイル」、本文テキスト「添付ファイルの送信」、添付ファイル(-a)backup.zipを含むメールをcalvin@cnh.comに送信します。 mailコマンドと同様に、「-c」オプションを使用して、コピーを別のメールIDにマークできます。

シェルスクリプトからのメールの送信

これで、基本をカバーしたので、シェルスクリプトからメールを送信できます。これは、パーティションのスペースの使用状況を読み取り、データをメールで送信する簡単なシェルスクリプトです。

#!/ bin / bash
df -h | mail-s「ディスク容量レポート」calvin@cnh.com

これらの行をLinuxサーバー上のファイルに保存して実行します。コマンドの結果が記載されたメールが届きます。ただし、これ以上のデータを送信する必要がある場合は、データをテキストファイルに書き込んで、メールの作成中にメール本文に入力する必要があります。これは、ディスク使用量とメモリ使用量を取得し、データを一時ファイルに書き込んでから、送信されるメールの本文にすべてを入力するシェルスクリプトの例です。

#!/ bin / bash
df -h> /tmp/mail_report.log
free -m>> /tmp/mail_report.log
mail -s“ disk and RAM report” calvin @ cnh.com

ここで、より複雑な問題があります。いくつかのファイルのバックアップを取り、メールで送信する必要があります。まず、郵送されるディレクトリがアーカイブされます。次に、muttを使用して電子メールの添付ファイルとして送信されます。これを行うためのスクリプトは次のとおりです。

#!/ bin / bash
tar -zcf /tmp/backup.tar.gz / home / calvin / files
echo | mutt -a/tmp/backup.tar.gz-s「データの毎日のバックアップ」calvin@cnh.com

最後の行の先頭にあるエコーにより、送信されるメールの本文に空白が追加されます。

これにより、Linuxコマンドラインおよびシェルスクリプトからのメールの送信を開始できます。その他のオプションについては、mailとmuttの両方の「manページ」を読んでください(それぞれの完全なマニュアルについては、コマンド「manmail」と「manmutt」を入力してください)。次に、自動レポートを送信するなど、メールコマンドで何ができるか想像力を働かせてください。


  1. コマンドラインからUbuntuをアップグレードする方法

    UbuntuのUpdateManagerを使用すると、インストールを新しいメジャーリリースに比較的簡単にアップグレードできます。ユーティリティのグラフィカルインターフェイスは、わかりやすい手順のウィザードをガイドします。 ただし、グラフィカルユーティリティを使用できない場合があります。たとえば、サーバーではグラフィカルインターフェイスにアクセスできません。この場合、Ubuntuをアップグレードするためにコマンドラインを使用する必要があります。 ただし、これが役立つシナリオはこれだけではありません。コマンドラインインターフェイスを使用すると、通常、何が起こっているかを詳しく知ることができます

  2. Outlook でメール エイリアスから送信する方法

    このガイドには、Office 365 で作成された電子メール エイリアスからメッセージを「送信」するように Outlook をセットアップする方法が記載されています。ご存知のように、電子メール エイリアスで受信したメッセージに返信すると、「差出人」フィールドにプライマリ電子メール アドレスが含まれます。エイリアスアドレスではありません。メール エイリアスを Send As にしたい場合は、この記事を読み続けてください。 Office 365 ユーザーの電子メール エイリアスを作成すると、電子メール エイリアス アドレスへのすべての受信メッセージがユーザーのプライマリ メールボックスに配信さ