ブログに戻る

Ubuntu 20.04でPostfixを送信専用SMTPサーバーとしてインストールおよび設定する

Ubuntu 20.04でPostfixを送信専用SMTPサーバーとしてインストールおよび設定する

Postfixは、メール転送エージェント(MTA)として機能する、人気の高いフリーでオープンソースのソフトウェアです。Postfixの役割は、メールをルーティングして配信することです。従来の使い方のほかに、ローカルアプリケーションのみからメールを送信するようにPostfixを設定することもできます。

このPostfixの適用は、さまざまな状況で展開するのに便利な手法です。たとえば、定期的にメール通知を送信する場合や、送信トラフィックが制限されているサードパーティのメールサービスプロバイダーと連携する場合などに使用できます。本格的なSMTPサーバーと比較して、Postfixは必要な機能を維持しつつ、より軽量な代替手段となります。

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

前提条件

このガイドに従うには、以下の前提条件を満たす必要があります。

Postfixのインストール

前提条件が満たされたら、サーバーにPostfixをデプロイする準備が整います。Postfixをインストールする最も簡単な方法は、 mailutilsパッケージをインストールすることです。これは公式のUbuntuリポジトリから直接入手できます。

まず、ターミナルを起動し、 APTパッケージデータベースを更新します。

Package Update

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

Install MailUtils

インストールプロセス中に、次の設定ウィンドウが表示されます。デフォルトのオプションは Internet Siteです。選択を確定するには、 TABキーを押してカーソルを次のセクションに移動します。その後、 Enter:

Mail Server Config

キーを押します。次のステップでは、システムメール名(System mail name)の入力を求められます。これは、作成時にサーバーに割り当てられた名前になります。スクリプトに記載されているように、ローカルホストのメールアドレスが「foo@example.org」の場合、システムメール名は example.org:

Mail Name Config

なお、設定スクリプトは、後からでも次のコマンドを使用していつでも実行できます。

Postfixの設定

このステップでは、 localhostからのみメールを送受信するようにPostfixを設定します。これには、Postfixが loopbackインターフェースをリスンする必要があります。これは、サーバーが内部通信に使用する仮想ネットワークインターフェースです。次に、お好みのテキストエディタを使用してPostfixの設定ファイルを開きます。

Change the value of inet_interfacesの値を loopback--onlyに変更します。:

Inet Interface

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

Mydestination Old

その値を以下のように変更します。

Mydestination

ドメインが実際にはサブドメインであり、メインドメインから送信されたようにメールを表示したい場合は、Postfix設定の最後に次のディレクティブを追加します。これにより、メールアドレスからサブドメインが削除されます。

Postfix Masquerade Domains

変更を反映するには、Postfixを再起動します。

restart_postfix

SMTPサーバーのテスト

設定プロセスが正常に完了したと仮定して、テストを行います。そのためには、 mailコマンドを使用して、Postfixが外部のメールアカウントにメールを送信できるかどうかを確認します。これは mailutilsパッケージの一部です。

指定されたメールアドレスにメッセージが届くはずです。現時点では、送信されるすべてのメールは暗号化されていません。サービスプロバイダーは通常、このようなメールをスパムとしてタグ付けするため、メールが届いているかスパムフォルダを確認してください。

もし mail コマンドがエラーを報告するか、長時間経過してもメールが届かない場合は、Postfixの設定を再確認し、サーバー名とホスト名が正しく設定されていることを確認してください。この設定では、メールは以下のアドレスから送信されたように見えます。

ここで、ユーザー名は、 mail コマンドを実行したサーバーユーザーのユーザー名になります。

システムメールの転送

メールサーバーが正しく設定され、機能していることが確認できました。次に、 root 宛てのメールを転送するように設定する必要があります。サーバーに送信されるすべてのシステム生成メッセージは、外部のメールアドレスに転送されます。メール受信者について、 /etc/aliases ファイルには代替名のリストが含まれています。お好みのテキストエディタを使用して開いてください。

デフォルトでは、次のようになります。

Postfix Aliases

ファイルの末尾に次の行を追加します。

Postfix Newaliases

これは、 root に送信されたメールがメールアドレスに転送されることを示します。変更を有効にするには、次のコマンドを実行します。これにより、 mail コマンドが使用するエイリアスデータベースが再構築されます。

sudo newaliases

次に、変更が成功したかどうかをテストする必要があります。テストメールを root:

メールは指定されたメールアドレスに届くはずです。暗号化がまだ設定されていないため、スパムフォルダを確認することを忘れないでください。

SMTP暗号化の有効化

暗号化されていない形式でメールを送信するのは危険な行為です。安全性を確保するために、SMTP暗号化を有効にする必要があります。これを実現するために、ドメイン用の無料のTLS証明書をLet’s Encryptからリクエストします。

Ubuntuの場合、その作業を行うのはCertbotツールです。幸いなことに、これは公式のUbuntuリポジトリから直接入手できます。次のコマンドでCertbotをインストールします。

Postfix Install certbot

サーバーにUFWが設定されていると仮定すると、ドメイン検証を行えるようにポート 80 を開放する必要があります。有効にするには、次のコマンドを実行します。

ufw allow Postfix

次に、Certbotを実行して証明書を生成します。これにより、Certbotに4096ビットのRSAキーで証明書を発行するように指示します。検証はポート 80(HTTP)を介して行われます。

出力は次のようになります。

キーは次のディレクトリに保存されます:

証明書が生成されたので、テキストエディタでPostfixの設定ファイルを開きます:

次のセクションを見つけます TLS パラメータ:

Postfix tls conf old

その後、ディレクティブの値を変更します smtpd_tls_cert_file および smtpd_tls_key_file:

Postfix tls conf

次に、ファイルを保存して閉じます。変更を有効にするには、Postfixを再起動します:

最後に、宛先メールアドレスにダミーメールを再度送信します:

これで、メールは他のメールと同様に正常に表示されるはずです。メールの技術情報を確認すると、暗号化されて表示されます。

最後に

おめでとうございます!Postfixを使用した送信専用メールサーバーの設定に成功しました。メールの送受信も、適切な暗号化キーを使用して安全に行われます。

メール転送を最適化するその他の方法については、このチュートリアルをご覧ください GoogleのSMTPサーバーを使用する最適な方法.

ハッピーコンピューティング!

author

Pranay Kapgate

著者 · CloudSigma

Preslav DobrevはCloudSigmaのクリエイティブデザイナーであり、従来型および革新的なマーケティングチャネルを活用した一貫性のあるビジネスアイデンティティに注力しています。彼は芸術的なビジョンと戦略的マーケティングを融合させ、インパクトのあるブランドナラティブを生み出すことに長けています。

コメント

コメントはまだありません。最初のコメントを投稿しましょう。