Debian10に送信専用SMTPサーバーとしてPostfixをインストールして設定する方法
序章
Postfixはメール転送エージェント(MTA)であり、メールの送受信に使用されるアプリケーションです。 このチュートリアルでは、Postfixをインストールして設定し、ローカルアプリケーション(つまり、Postfixと同じサーバーにインストールされているアプリケーション)のみが電子メールを送信できるようにします。
なぜあなたはそれをしたいのですか?
電子メールの送受信にサードパーティの電子メールプロバイダーをすでに使用している場合は、独自のメールサーバーを実行する必要はありません。 ただし、電子メール通知を送信する必要のあるアプリケーションをインストールしたクラウドサーバーを管理している場合は、サードパーティの電子メールサービスプロバイダーを使用したり、本格的なSMTPを実行したりする代わりに、ローカルの送信専用SMTPサーバーを実行することをお勧めします。サーバ。
このチュートリアルでは、PostfixをDebian10に送信専用SMTPサーバーとしてインストールして設定します。
前提条件
このチュートリアルに従うには、次のものが必要です。
- Debian10初期サーバーセットアップチュートリアルでセットアップされた1台のDebian10サーバーと、
sudo
特権を持つ非rootユーザー。 - サーバーを指すexample.comなどの有効なドメイン名。 DigitalOceanでのDNSホスティングの管理に関するこれらのガイドラインに従うことで設定できます。
サーバーのホスト名は、ドメインまたはサブドメインと一致する必要があることに注意してください。 コマンドプロンプトでhostname
と入力すると、サーバーのホスト名を確認できます。 出力は、サーバーの作成時にサーバーに付けた名前と一致する必要があります。
ステップ1—Postfixをインストールする
このステップでは、Postfixをインストールする方法を学びます。 2つのパッケージが必要になります。Postfixが機能するために必要なプログラムを含むmailutils
と、postfix
自体です。
まず、パッケージデータベースを更新します。
sudo apt update
次に、mailtuils
をインストールします。
sudo apt install mailutils
最後に、postfix
をインストールします。
sudo apt install postfix
インストールプロセスの終わり近くに、次の画像のようなウィンドウが表示されます。
ENTER
を押して続行します。
デフォルトのオプションはインターネットサイトで、次の画面で事前に選択されています。
ENTER
を押して続行します。
その後、システムメール名を設定するための別のウィンドウが表示されます。
システムメール名は、サーバーの作成時にサーバーに割り当てた名前と同じである必要があります。 subdomain.example.com
のようなサブドメインが表示されている場合は、example.com
だけに変更してください。 終了したら、TAB
、ENTER
の順に押します。
これでPostfixがインストールされ、構成設定を変更する準備が整いました。
ステップ2—Postfixを設定する
このステップでは、Postfixが実行されているサーバーからのみメールを送信するリクエストを処理するようにPostfixを設定します。 localhost
から。
そのためには、サーバーが内部通信に使用する仮想ネットワークインターフェイスであるループバックインターフェイスでのみリッスンするように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 = 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を再起動します。
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" your_email_address
独自のテストを実行する際には、本文と件名のテキストをそのまま使用することも、好みに合わせて変更することもできます。 ただし、your_email_address
の代わりに、有効なメールアドレスを使用してください。 ドメインは、gmail.com
、fastmail.com
、yahoo.com
、または使用するその他の電子メールサービスプロバイダーにすることができます。
次に、テストメッセージを送信した電子メールアドレスを確認します。 受信トレイにメッセージが表示されます。 そうでない場合は、スパムフォルダを確認してください。
この構成では、送信するテストメールの From フィールドのアドレスは、[email protected]
になります。ここで、 sammy はLinuxの非ルートユーザー名であり、 domainはサーバーのホスト名です。 ユーザー名を変更すると、Fromアドレスも変更されます。
ステップ4—システムメールの転送
最後に設定したいのは転送です。これにより、システムのrootに個人の外部メールアドレスでメールが送信されます。
システムで生成されたメールがあなたのメールアドレスに送信されるようにPostfixを設定するには、/etc/aliases
ファイルを編集する必要があります。 今すぐそのファイルを開きます:
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
を個人のメールアドレスに置き換えます。 終了したら、ファイルを保存して閉じます。 変更を有効にするには、次のコマンドを実行します。
sudo newaliases
次のコマンドを使用してrootアカウントにメールを送信することで、機能することをテストできます。
echo "This is the body of the email" | mail -s "This is the subject line" root
あなたはあなたのメールアドレスでメールを受け取るはずです。 そうでない場合は、スパムフォルダを確認してください。
結論
Postfixを使用して送信専用メールサーバーを設定するのに必要なのはこれだけです。 ただし、スパマーからドメインを保護するために、いくつかの追加手順を実行することをお勧めします。
サーバーから単一のアドレスで通知を受信する場合は、ホワイトリストの回避策を作成できるため、スパムとしてマークされた電子メールを使用することはそれほど問題にはなりません。 ただし、潜在的なサイトユーザーに電子メール(メッセージボードのサインアップの確認電子メールなど)を送信する場合は、サーバーの電子メールが正当であると見なされる可能性が高くなるように、SPFレコードとDKIMを確実に設定する必要があります。
- SPFレコードを使用してなりすましを防止し、電子メールの信頼性を向上させる方法
- DebianWheezyにPostfixを使用してDKIMをインストールおよび構成する方法。
正しく設定されている場合、これらの手順により、ドメインから発信されたように見えるアドレスでスパムを送信することが困難になります。 これらの追加の構成手順を実行すると、一般的なメールプロバイダーがサーバーからの電子メールを正当なものと見なす可能性も高くなります。