はじめに
Postfixはメール転送エージェント(MTA)であり、電子メールの送受信に使用されるアプリケーションです。 このチュートリアルでは、Postfixがインストールされているのと同じサーバーにインストールされているローカルアプリケーションのみで電子メールを送信するために使用できるように、Postfixをインストールして設定します。
なぜそんなことをしたいのですか?
電子メールの送受信にすでにサードパーティの電子メールプロバイダを使用している場合は、独自のメールサーバを実行する必要はありません。 ただし、電子メール通知を送信する必要があるアプリケーションをインストールしたクラウドサーバーを管理する場合は、ローカルの送信専用SMTPサーバーを実行す
このチュートリアルでは、Postfixを送信専用SMTPサーバとしてインストールして設定する方法を学びます。
前提条件
このチュートリアルに従うには、次のものが必要です:
-
1つのUbuntu16.04Dropletは、ubuntu16.04initial setup guideでセットアップされ、sudo非rootユーザーの作成を含みます
-
サーバーを指す
example.com
のような有効なドメイン名。 これを設定するには、次のホスト名チュートリアルを実行します
サーバーのホスト名は、このドメインまたはサブドメインと一致する必要があ コマンドプロンプトでhostname
と入力すると、サーバーのホスト名を確認できます。 出力は、Dropletの作成時に指定した名前と一致する必要があります。ステップ1-Postfixのインストール
このステップでは、Postfixをインストールする方法を学びます。 Postfixや電子メールのテストに必要な他のプログラムをインストールする最も効率的な方法は、mailutils
パッケージをインストールすることです。
まず、パッケージデータベースを更新します:
- sudo apt-get update
最後に、Postfixをインストールします。 mailtuils
をインストールすると、PostfixとPostfixが機能するために必要な他のいくつかのプログラムがインストールされます。
- sudo apt install mailutils
インストールプロセスの終わり近くに、下の画像のようなウィンドウが表示されます。 デフォルトのオプションはインターネットサイトです。 これがこのチュートリアルで推奨されるオプションなので、TAB
を押してからENTER
を押します。
と入力すると、次の画像のような別のウィンドウが表示されます。 システムメール名は、サーバーを作成するときにサーバーに割り当てた名前と同じにする必要があります。 subdomain.example.com
のようなサブドメインが表示されている場合は、example.com
に変更してください。 終了したら、TAB
を押してからENTER
を押します。
インストールが正常に完了したら、ステップtwoに進みます。
ステップ2—Postfixの設定
このステップでは、実行されているサーバー、つまりlocalhostからのみメールを送信する要求を処理するようにPostfixを設定する方法を読
そのためには、サーバが内部的に通信するために使用する仮想ネットワークインターフェイスであるループバックインターフェイスでのみリッスンするよ 変更を行うには、nano
またはお気に入りのテキストエディタを使用してメインのPostfix設定ファイルを開きます。
- sudo nano /etc/postfix/main.cf
ファイルを開いた状態で、次のセクションが表示されるまで下にスクロールします。/Etc/postfix/main.cf
. . .mailbox_size_limit = 0recipient_delimiter = +inet_interfaces = all. . .
inet_interfaces = all
という行をinet_interfaces = loopback-only
に変更します。
. . .mailbox_size_limit = 0recipient_delimiter = +inet_interfaces = loopback-only. . .
変更する必要がある別のディレクティブはmydestination
で、local_transport
メール配信トランスポートを介して配信されるドメインのリストを指定するために使 既定では、値は次のようになります:
/etc/postfix/main.cf. . .mydestination = $myhostname, example.com, localhost.com, , localhost. . .
そのシナリオの推奨されるデフォルトは以下のコードブロックに記載されているので、一致するように変更してください:
/etc/postfix/main.cf. . .mydestination = $myhostname, localhost.$mydomain, $mydomain. . .
ファイルを保存して閉じます。
単一のサーバー上で複数のドメインをホストしている場合、mydestination
ディレクティブを使用して他のドメインをPostfixに渡すこともできます。 しかし、Postfixを拡張し、そのような設定に問題がないような方法で設定するには、この記事の範囲を超えた追加の設定が必要です。
最後に、Postfixを再起動します。ステップ3-SMTPサーバーのテスト
このステップでは、ステップ1でインストールされたmailutils
パッケージの一部であるmail
コマンドを使用して、Postfixが外部メールアカウ
テストメールを送信するには、次のように入力します:
- echo "This is the body of the email" | mail -s "This is the subject line" your_email_address
あなた自身のテストを実行する際には、本文と件名のテキストをそのまま使用したり、好みに合わせて変更したりすることができます。 ただし、your_email_address
の代わりに、有効な電子メールアドレスを使用してください。 ドメイン部分は次のようになりますgmail.com
, fastmail.com
, yahoo.com
, またはあなたが使用する他の電子メールサービスプロバイダ。
ここで、テストメッセージを送信したメールアドレスを確認します。 受信トレイにメッセージが表示されます。 そうでない場合は、迷惑メールフォルダを確認してください。
この設定では、送信するテストメールの送信元フィールドのアドレスは[email protected]
になります。sammyはLinuxユーザー名で、ドメイン部分はサーバーのホスト名です。 ユーザー名を変更すると、差出人アドレスも変更されます。
ステップ4—転送システムメール
私たちが設定したい最後のことは転送であるので、あなたはあなたの個人的な、外部メールアドレスでシステム上のroot
システムで生成されたメールがあなたのメールアドレスに送信されるようにPostfixを設定するには、/etc/aliases
ファイルを編集する必要があります。
システムで生成されたメールがあなたのメールアドレスに送信されます。
- sudo nano /etc/aliases
Ubuntu16.04のデフォルトインストール上のファイルの完全な内容は次のとおりです。
# See man 5 aliases for formatpostmaster: root
この設定では、システムが生成した電子メールがrootユーザーに送信されます。 あなたがしたいことは、それらの電子メールがあなたの電子メールアドレスに再ルーティングされるようにそれを編集することです。 これを行うには、ファイルを編集して次のようにします:
/etc/aliases# See man 5 aliases for formatpostmaster: rootroot: your_email_address
your_email_address
を個人のメールアドレスに置き換えます。 終了したら、ファイルを保存して閉じます。 変更を有効にするには、次のコマンドを実行します:
- sudo newaliases
これで、以下を使用してrootアカウントに電子メールを送信することで、動作することをテストできます:
- echo "This is the body of the email" | mail -s "This is the subject line" root
あなたの電子メールアドレスで電子メールを受け取る必要があります。 そうでない場合は、迷惑メールフォルダを確認してください。
結論
Postfixを使用して送信専用メールサーバーを設定するのに必要なのはそれだけです。 ドメインをスパマーから保護するために、いくつかの追加の手順を実行することができます。
あなたのユースケースが単一のアドレスであなたのサーバーからの通知を受信することであるならば、あなたはそれらをホワイトリストに登録することができますので、スパムとしてマークされている電子メールは大きな問題です。 ただし、ユースケースが潜在的なサイトユーザーに電子メールを送信する場合(メッセージボードのサインアップの確認メールなど)、サーバーの電子メールが正当であると見
-
SPFレコードを使用してなりすましを防ぐ方法&電子メールの信頼性を向上させる
-
Debian WheezyにPostfixを使用してDKIMをインストールして設定する方法その記事はDebian Wheezyのために書かれましたが、Ubuntu16.04にも同じ手順が適用されます。
正しく設定されていると、ドメインから発信されているように見えるアドレスでスパムを送信することが困難になります。 これらの追加の構成手順を実行すると、一般的なメールプロバイダーがサーバーからの電子メールを正当なものとして見る可能性が高くなります。