Debian 10にPostfixを送信専用SMTPサーバーとしてインストールおよび設定する方法

前書き

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

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

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

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

前提条件

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

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

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

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

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

sudo apt update

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

sudo apt install mailutils

最後に、 `+ postfix +`をインストールします:

sudo apt install postfix

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

image:https://assets.digitalocean.com/articles/smtp_deb_10/smtp_initial.png [初期設定画面]

続行するには、「+ ENTER」を押します。

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

image:https://assets.digitalocean.com/articles/smtp_deb_10/smtp_internet.png [構成選択画面]

続行するには、「+ ENTER」を押します。

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

image:https://assets.digitalocean.com/articles/smtp_deb_10/smtp_mail_name.png [システムメール名の選択]

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

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

ステップ2-Postfixの構成

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

そのためには、サーバーが内部通信に使用する仮想ネットワークインターフェースである_loopback interface_でのみリッスンするようにPostfixを設定する必要があります。 変更するには、 `+ nano +`またはhttps://www.digitalocean.com/community/tutorials/initial-server-setup-with-debian-9#step-six-%E2%を使用してメインのPostfix設定ファイルを開きます80%94-completing-optional-configuration [お気に入りのテキストエディター]:

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

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

/ 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

. . .

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

sudo newaliases

以下を使用して* root *アカウントにメールを送信することで、それが機能することをテストできます。

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

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

結論

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

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

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