序章

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

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

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

このチュートリアルでは、PostfixをDebian10に送信専用SMTPサーバーとしてインストールして設定します。

前提条件

このチュートリアルに従うには、次のものが必要です。

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

ステップ1—Postfixをインストールする

このステップでは、Postfixをインストールする方法を学びます。 2つのパッケージが必要になります。Postfixが機能するために必要なプログラムを含むmailutilsと、postfix自体です。

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

  1. sudo apt update

次に、mailtuilsをインストールします。

  1. sudo apt install mailutils

最後に、postfixをインストールします。

  1. sudo apt install postfix

インストールプロセスの終わり近くに、次の画像のようなウィンドウが表示されます。

Initial Config Screen

ENTERを押して続行します。

デフォルトのオプションはインターネットサイトで、次の画面で事前に選択されています。

Config Selection Screen

ENTERを押して続行します。

その後、システムメール名を設定するための別のウィンドウが表示されます。

System Mail Name Selection

システムメール名は、サーバーの作成時にサーバーに割り当てた名前と同じである必要があります。 subdomain.example.comのようなサブドメインが表示されている場合は、example.comだけに変更してください。 終了したら、TABENTERの順に押します。

これでPostfixがインストールされ、構成設定を変更する準備が整いました。

ステップ2—Postfixを設定する

このステップでは、Postfixが実行されているサーバーからのみメールを送信するリクエストを処理するようにPostfixを設定します。 localhostから。

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

  1. 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 = loopback-only
. . .

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

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

このディレクティブの推奨されるデフォルトは、以下のコードブロックに示されているため、次のように変更してください。

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

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

注: 1つのサーバーで複数のドメインをホストしている場合は、mydestinationディレクティブを使用して他のドメインをPostfixに渡すこともできます。 ただし、拡張性があり、そのような設定で問題が発生しない方法でPostfixを設定するには、この記事の範囲を超える追加の設定が必要です。

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

  1. sudo systemctl restart postfix

ステップ3—SMTPサーバーをテストする

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

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

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

独自のテストを実行する際には、本文と件名のテキストをそのまま使用することも、好みに合わせて変更することもできます。 ただし、your_email_addressの代わりに、有効なメールアドレスを使用してください。 ドメインは、gmail.comfastmail.comyahoo.com、または使用するその他の電子メールサービスプロバイダーにすることができます。

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

この構成では、送信するテストメールの From フィールドのアドレスは、sammy@example.comになります。ここで、 sammy はLinuxの非ルートユーザー名であり、 domainはサーバーのホスト名です。 ユーザー名を変更すると、Fromアドレスも変更されます。

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

最後に設定したいのは転送です。これにより、システムのrootに個人の外部メールアドレスでメールが送信されます。

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

  1. sudo nano /etc/aliases

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

/ etc / aliases
mailer-daemon: postmaster
postmaster: root
nobody: root
hostmaster: root
usenet: root
news: root
webmaster: root
www: root
ftp: root
abuse: root
noc: root
security: root

postmaster: root設定により、システムで生成された電子メールがrootユーザーに送信されます。 これらの設定を編集して、これらの電子メールが自分の電子メールアドレスに再ルーティングされるようにします。 これを行うには、postmaster: root設定の下に次の行を追加します。

/ etc / aliases
mailer-daemon: postmaster
postmaster:    root
root:          your_email_address
. . .

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

  1. sudo newaliases

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

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

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

結論

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

サーバーから単一のアドレスで通知を受信する場合は、ホワイトリストの回避策を作成できるため、スパムとしてマークされた電子メールを使用することはそれほど問題にはなりません。 ただし、潜在的なサイトユーザーに電子メール(掲示板のサインアップの確認電子メールなど)を送信する場合は、サーバーの電子メールが正当であると見なされる可能性が高くなるように、SPFレコードとDKIMを確実に設定する必要があります。

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