通常のUbuntuユーザーとして、コマンドラインの能力をよく知っているかもしれません。この記事では、msmtpクライアントを構成することにより、ターミナル内からGmailを使用してメールを送信する方法について説明します。さて、Gmailは非常に便利でキャッチーなインターフェースを備えているのに、なぜこのコマンドラインアプローチを選択したいのですか?
電子メールの送信にターミナルを使用する理由
ターミナルに精通している場合は、コマンドラインの快適さを離れて、日常の技術活動を行うために別の場所に移動することは望ましくありません。ターミナル内でほとんどすべてのことを行う方法は常にあります。では、なぜメールの送信が違うのか!ターミナルを使用すると、特定のタスクがより効率的かつさらに高速になります。コマンドラインツールはあまり多くのリソースを使用しないため、特に古いハードウェアで立ち往生している場合は、広く使用されているグラフィカルアプリケーションの優れた代替手段となります。ターミナルからのメールの送信は、メールを送信してプロセス全体を自動化するシェルスクリプトを作成できる場合に特に便利です。
この記事に記載されているコマンドと手順をUbuntu18.04LTSシステムで実行しました。
ターミナルから電子メールを送信できるようにmsmtpをインストールおよび構成するには、次の手順を1つずつ実行してください。
ステップ1:ターミナルアプリケーションを開きます
Ctrl + Alt + Tショートカットを使用するか、次のようにアプリケーションランチャー検索からターミナルアプリケーションにアクセスして、ターミナルアプリケーションを開きます。
ステップ2:リポジトリインデックスを更新する
次のステップは、次のコマンドを使用してシステムのリポジトリインデックスを更新することです。
$ sudo apt-get update
これは、インターネットから利用可能な最新バージョンのソフトウェアをインストールするのに役立ちます。 Ubuntuでソフトウェアを追加、削除、構成できるのは、許可されたユーザーのみであることに注意してください。
ステップ3:Msmtpクライアントをインストールする
これで、ターミナルからmsmtpクライアントをインストールする準備が整いました。これを行うには、次のコマンドをsudoとして実行します。
$ sudo apt-get install msmtp-mta
システムはsudoのパスワードを要求し、インストールを続行するためのY/nオプションも提供する場合があります。 Yと入力し、Enterキーを押します。ソフトウェアがシステムにインストールされます。ただし、インターネットの速度によっては、処理に時間がかかる場合があります。
ステップ4:Gmail用にmsmtpを設定する
今こそ、Gmailのクレデンシャル、使用するポート、ホスト、その他の承認と接続の詳細を通知して、msmtpを構成するときです。
お気に入りのテキストエディタの1つでmsmtprcという名前のファイルを開きます。有名なNanoエディターを使用して、次のようにファイルを開きます。
$ nano ~/.msmtprc
次に、次のコードを空のファイルにコピーします。
#Gmail account defaults #change the location of the log file to any desired location. logfile ~/msmtp.log account gmail auth on host smtp.gmail.com from <[email protected]> auth on tls on tls_trust_file /etc/ssl/certs/ca-certificates.crt user <[email protected]> password <your-password> port 587 #set gmail as your default mail server. account default : gmail
ヒント: ファイルにコード全体を入力する代わりに、ここからコードをコピーして、Ctrl + Shift + Vを使用するか、右クリックメニューの[貼り付け]オプションを使用して、ターミナルに貼り付けることができます。
ここで、Ctrl + Xショートカットを使用してファイルを終了し、「変更されたバッファを保存しますか?」にファイルを保存します。 Yと入力し、Enterキーを押してプロンプトを表示します。
パスワードをテキスト形式で保存することは、どのファイルでも決して良い考えではありません。したがって、次のコマンドを実行してファイルを保護できます。
$ chmod 600 .msmtprc
ステップ5:heirloom-mailxをインストールする
この時点で、リモートのGmailサーバーと通信するようにコンピューターを構成しました。ここで行う必要があるのは、送信する電子メールを作成できるコマンドラインインターフェイスを設定することです。 Mailxは、これらすべてを実行できるプログラムであり、インストール方法は次のとおりです。
$ sudo apt-get install heirloom-mailx
システムはsudoのパスワードを要求し、インストールを続行するためのY/nオプションも提供する場合があります。 Yと入力し、Enterキーを押します。ソフトウェアがシステムにインストールされます。ただし、インターネットの速度によっては、処理に時間がかかる場合があります。
重要: すでに追加されているリポジトリでパッケージが見つからない場合は、次のようにsources.listファイルを開きます。
$ nano /etc/apt/sources.list
次に、次の行を追加して、mailxユーティリティをインストールするrusty-securityメインユニバースリポジトリを追加します。
debhttp://security.ubuntu.com/ubuntutrusty-securityメインユニバース
また、インストールを実行する前に、次のコマンドを実行することを忘れないでください。
$ sudo apt-get update
ステップ6:Mailxを構成する
お気に入りのテキストエディタの1つを使用して、.mailrcという名前のファイルを開きます。
$ nano〜/ .mailrc
次に、そのファイルに次の行を追加して保存します。
set sendmail="/usr/bin/msmtp" set message-sendmail-extra-arguments="-a gmail"
ステップ7:ターミナルからメールを送信する
これで、設定したGmailアカウントを介して任意のドメインの受信者にメールを送信する準備が整いました。このようなメールを送信するための基本的な構文は次のとおりです。
$ mail -s "subject" -a "attachment-if-any" "[email protected]"
メールと一緒に添付ファイルを送信することはオプションです。
次のコマンドを使用してメールを送信しました:
Enterキーを押すと、メールの本文を入力できるようになります。メール本文の入力が完了したら、Ctrl+Dを押します。これにより、メール本文の終わりがマークされ、それぞれの受信者IDに送信されます。
出力の最後にあるEOTは、メールが送信されたことを示します。
ただし、最も一般的なエラーが発生する可能性があります 、私と同じ:
このエラーは主に、Gmailで安全性の低いアプリへのアクセスを許可していない場合に発生します。このセキュリティ設定は、次のリンクから変更できます:
https://myaccount.google.com/lesssecureapps
これを行うと、通知が送信されます(Gmailで電話番号を設定した場合、ほとんどの場合、電話で)。この設定の変更を許可すると、Gmailは私たちが使用しているアプリなどの安全性の低いアプリへのアクセスを許可します。
CLIを使用してもう一度メールを送信してみてください。そうすれば、メールはGmailIDから受信者に正常に送信されます。
このメソッドをbashスクリプトに組み込んで、より便利にし、時間と帯域幅を節約できるようになりました。