前書き

Postfixは_mail transfer agent_(MTA)であり、電子メールの送受信に使用されるアプリケーションです。 このチュートリアルでは、ローカルアプリケーション、つまりPostfixがインストールされているのと同じサーバーにインストールされているアプリケーションのみでメールを送信できるように、Postfixをインストールして構成します。

なぜあなたはそれをしたいのですか?

既にメールの送受信にサードパーティのメールプロバイダーを使用している場合は、独自のメールサーバーを実行する必要はありません。 ただし、電子メール通知を送信する必要があるアプリケーションをインストールしたクラウドサーバーを管理する場合、ローカルの送信専用SMTPサーバーを実行することは、サードパーティの電子メールサービスプロバイダーを使用するか、本格的なSMTPサーバーを実行する代わりに適しています。

このチュートリアルでは、Postfixを送信専用SMTPサーバーとしてインストールおよび設定する方法を学びます。

前提条件

このチュートリアルを実行するには、次のものが必要です。

サーバーのホスト名はこのドメインまたはサブドメインと一致する必要があることに注意してください。 サーバーのホスト名を確認するには、コマンドプロンプトで「+ hostname +」と入力します。 出力は、作成時にドロップレットに付けた名前と一致する必要があります。

ステップ1-Postfixのインストール

このステップでは、Postfixのインストール方法を学びます。 電子メールのテストに必要なPostfixやその他のプログラムをインストールする最も効率的な方法は、 `+ mailutils +`パッケージをインストールすることです。

まず、パッケージデータベースを更新します。

sudo apt-get update

最後に、Postfixをインストールします。 `+ mailtuils +`をインストールすると、Postfixと、Postfixが機能するために必要な他のいくつかのプログラムがインストールされます。

sudo apt install mailutils

インストールプロセスの終わり近くに、次の画像のようなウィンドウが表示されます。 デフォルトのオプションは*インターネットサイト*です。 これがこのチュートリアルの推奨オプションですので、「+ TAB」、次に「+ ENTER」を押します。

image:https://assets.digitalocean.com/articles/postfix-16.04/zJuFrgI.png?1 [メニューからインターネットサイトを選択し、TABを押して<Ok>を選択し、ENTER]

その後、次の画像と同じような別のウィンドウが表示されます。 *システムメール名*は、作成時にサーバーに割り当てた名前と同じにする必要があります。 「+ subdomain.example.com 」のようなサブドメインが表示されている場合は、単に「 example.com 」に変更します。 終了したら、「 TAB」、次に「+ ENTER」を押します。

image:https://assets.digitalocean.com/articles/postfix-16.04/sVEi9SW.png?1 [ドメイン名を入力し、Tabを押して<Ok>を選択し、ENTER]

インストールが正常に完了したら、ステップ2に進みます。

ステップ2-Postfixの構成

この手順では、Postfixが実行されているサーバー、つまり* localhost *からのみメールを送信するリクエストを処理するようにPostfixを設定する方法を読みます。

そのためには、サーバーが内部通信に使用する仮想ネットワークインターフェースである_loopback interface_でのみリッスンするようにPostfixを設定する必要があります。 変更するには、 `+ nano +`またはお好みのテキストエディターを使用してメインのPostfix設定ファイルを開きます。

sudo nano /etc/postfix/main.cf

ファイルを開いた状態で、次のセクションが表示されるまで下にスクロールします。

/etc/postfix/main.cf

. . .
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
. . .

「+ inet_interfaces = all」という行を「+ inet_interfaces = loopback-only」に変更します。

/etc/postfix/main.cf

. . .
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces =
. . .

変更する必要がある別のディレクティブは、「+ mydestination 」です。これは、「 local_transport +」メール配信トランスポートを介して配信されるドメインのリストを指定するために使用されます。 デフォルトでは、値は次のようになります。

/etc/postfix/main.cf. . .
mydestination = $myhostname, , localhost.com, , localhost
. . .

そのシナリオのhttp://www.postfix.org/postconf.5.html#mydestination [推奨されるデフォルト]は以下のコードブロックに示されているので、一致するように変更してください:

/etc/postfix/main.cf. . .
mydestination = $myhostname,
. . .

ファイルを保存して閉じます。

最後に、Postfixを再起動します。

sudo systemctl restart postfix

ステップ3-SMTPサーバーのテスト

このステップでは、ステップ1でインストールした `+ mailutils `パッケージの一部である ` mail +`コマンドを使用して、Postfixが外部のメールアカウントにメールを送信できるかどうかをテストします。

テストメールを送信するには、次のように入力します。

echo "This is the body of the email" | mail -s "This is the subject line"

独自のテストを実行する際には、本文と件名のテキストをそのまま使用するか、好みに合わせて変更できます。 ただし、「+」の代わりに、有効なメールアドレスを使用してください。 ドメイン部分には、「 gmail.com 」、「 fastmail.com 」、「 yahoo.com +」、または使用する他のメールサービスプロバイダーを指定できます。

次に、テストメッセージを送信したメールアドレスを確認します。 受信ボックスにメッセージが表示されます。 そうでない場合は、スパムフォルダを確認してください。

この設定では、送信するテストメールの* From フィールドのアドレスは `+ @ +`になります。 sammy *はLinuxユーザー名で、ドメイン部分はサーバーのホスト名です。 ユーザー名を変更すると、*差出人*アドレスも変更されます。

ステップ4-システムメールの転送

最後に設定するのは転送であるため、システムの* root *に送信されるメールは、個人の外部メールアドレスになります。

システムが生成したメールがあなたのメールアドレスに送信されるようにPostfixを設定するには、 `+ / etc / aliases +`ファイルを編集する必要があります。

sudo nano /etc/aliases

Ubuntu 16.04のデフォルトインストールでのファイルの完全な内容は次のとおりです。

/ etc / aliases

# See man 5 aliases for format
postmaster:    root

この設定では、システムが生成した電子メールがルートユーザーに送信されます。 あなたがしたいのは、それらのメールがあなたのメールアドレスに転送されるように編集することです。 そのためには、ファイルを編集して次のようにします。

/etc/aliases# See man 5 aliases for format
postmaster:    root
root:

「++」を自分のメールアドレスに置き換えます。 終了したら、ファイルを保存して閉じます。 変更を有効にするには、次のコマンドを実行します。

sudo newaliases

次のコマンドを使用してルートアカウントにメールを送信することで、動作することをテストできます。

echo "This is the body of the email" | mail -s "This is the subject line" root

あなたのメールアドレスでメールを受信する必要があります。 そうでない場合は、スパムフォルダを確認してください。

結論

Postfixを使用して送信専用メールサーバーをセットアップするのに必要なことはそれだけです。 ドメインをスパマーから保護するために、いくつかの追加手順を実行することもできます。

ユースケースが単一のアドレスでサーバーから通知を受信する場合、スパムとしてマークされているメールはホワイトリストに登録できるため、大きな問題です。 ただし、ユースケースが潜在的なサイトユーザーにメールを送信する場合(メッセージボードサインアップの確認メールなど)、サーバーのメールが正当であると見なされる可能性が高いように、SPFレコードとDKIMを必ず設定する必要があります。

正しく構成されている場合、これにより、ドメインから発信されたと思われるアドレスを持つスパムを送信することが難しくなります。 これらの追加の構成手順を実行すると、一般的なメールプロバイダーがサーバーからのメールを正当であると見なす可能性が高くなります。