Ubuntu14.04に送信専用SMTPサーバーとしてPostfixをインストールして設定する方法
序章
PostfixはMTA(メール転送エージェント)であり、メールの送受信に使用されるアプリケーションです。 このチュートリアルでは、Postfixをインストールして設定し、ローカルアプリケーション(つまり、Postfixがインストールされているのと同じサーバーにインストールされているアプリケーション)のみが電子メールを送信できるようにします。
なぜあなたはそれをしたいのですか?
すでにサードパーティの電子メールプロバイダーを使用して電子メールを送受信している場合は、もちろん、独自のメールサーバーを実行する必要はありません。 ただし、電子メール通知を送信する必要のあるアプリケーションをインストールしたクラウドサーバーを管理している場合は、サードパーティの電子メールサービスプロバイダーを使用したり、本格的なSMTPサーバーを実行したりする代わりに、ローカルの送信専用SMTPサーバーを実行することをお勧めします。 。
電子メール通知を送信するアプリケーションの例はOSSECで、構成された任意の電子メールアドレスに電子メールアラートを送信します( Ubuntu 14.04にOSSECセキュリティ通知をインストールして構成する方法を参照)。 OSSECまたはその種の他のアプリケーションは、サードパーティの電子メールプロバイダーのSMTPサーバーを使用して電子メールアラートを送信できますが、ローカル(送信専用)SMTPサーバーを使用することもできます。
それがこのチュートリアルで行う方法を学ぶことです:Postfixを送信専用SMTPサーバーとしてインストールして設定する方法。
注:ユースケースが単一のアドレスでサーバーから通知を受信する場合、スパムとしてマークされている電子メールはホワイトリストに登録できるため、重要な問題ではありません。
ユースケースが、掲示板のサインアップの確認メールなど、潜在的なサイトユーザーにメールを送信する場合は、サーバーのメールが正当であると見なされる可能性が高くなるように、必ずステップ5を実行する必要があります。 サーバーの電子メールがスパムとしてマークされるのにまだ問題がある場合は、自分でさらにトラブルシューティングを行う必要があります。
前提条件
以下の前提条件を満たしてください。
- Ubuntu14.04ドロップレット
- 初期設定を実行します。 つまり、
sudo
権限を持つ標準のユーザーアカウントが必要です。 - ドロップレットを指すexample.comのような有効なドメイン名を持っている
- サーバーのホスト名は、このドメインまたはサブドメインと一致する必要があります。 コマンドプロンプトで
hostname
と入力すると、サーバーのホスト名を確認できます。 出力は、ドロップレットの作成時に付けた名前( example.com など)と一致する必要があります。
すべての前提条件が満たされている場合は、このチュートリアルの最初のステップの準備ができています。
ステップ1—Postfixをインストールする
このステップでは、Postfixをインストールする方法を学びます。 メールのテストに必要なPostfixやその他のプログラムをインストールする最も効率的な方法は、次のように入力してmailutils
パッケージをインストールすることです。
sudo apt-get install mailutils
mailtuilsをインストールすると、Postfixがインストールされ、Postfixが機能するために必要な他のいくつかのプログラムもインストールされます。 そのコマンドを入力すると、次のような出力が表示されます。
The following NEW packages will be installed:
guile-2.0-libs libgsasl7 libkyotocabinet16 libltdl7 liblzo2-2 libmailutils4 libmysqlclient18 libntlm0 libunistring0 mailutils mailutils-common mysql-common postfix ssl-cert
0 upgraded, 14 newly installed, 0 to remove and 3 not upgraded.
Need to get 5,481 kB of archives.
After this operation, 26.9 MB of additional disk space will be used.
Do you want to continue? [Y/n]
ENTERを押してインストールします。 インストールプロセスの終わり近くに、下の画像のようなウィンドウが表示されます。 デフォルトのオプションはインターネットサイトです。 これがこのチュートリアルの推奨オプションなので、Tabキーを押してからEnterキーを押します。
その後、次の画像のような別のウィンドウが表示されます。 システムメール名は、ドロップレットを作成したときに割り当てた名前と同じである必要があります。 mars.example.com のようなサブドメインが表示されている場合は、example.comに変更してください。 完了したら、Tabキーを押してからEnterキーを押します。
インストールが正常に完了したら、手順2に進みます。
ステップ2—Postfixを設定する
このステップでは、Postfixが実行されているサーバー、つまりlocalhostからのみメールを送信するリクエストを処理するようにPostfixを設定する方法を読みます。 そのためには、サーバーが内部通信に使用する仮想ネットワークインターフェイスであるループバックインターフェイスでのみリッスンするようにPostfixを構成する必要があります。 変更するには、nanoエディターを使用してメインのPostfix設定ファイルを開きます。
sudo nano /etc/postfix/main.cf
ファイルを開いた状態で、このコードブロックに表示されるエントリが表示されるまで下にスクロールします。
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_interfaces = all
という行をinet_interfaces = loopback-only
に変更します。 完了すると、ファイルの同じセクションは次のようになります。
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
loopback-only
の代わりに、localhost
を使用することもできます。これにより、変更されたセクションは次のようになります。
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = localhost
ファイルの編集が完了したら、ファイルを保存して閉じます(CTRL + Xを押し、次にYを押し、次にENTERを押します)。 その後、次のように入力してPostfixを再起動します。
sudo service postfix restart
ステップ3—SMTPサーバーが電子メールを送信できることをテストする
このステップでは、Postfixが外部のメールアカウントにメールを送信できるかどうかをテストする方法を読みます。 手順1でインストールしたmailutils
パッケージの一部であるmail
コマンドを使用します。
テストメールを送信するには、次のように入力します。
echo "This is the body of the email" | mail -s "This is the subject line" [email protected]
独自のテストを実行する際には、本文と件名のテキストをそのまま使用することも、好みに合わせて変更することもできます。 ただし、 [email protected] の代わりに、有効なメールアドレスを使用してください。ドメイン部分は gmail.com 、 fastmail.com 、[ X147X] yahoo.com