序章
Postfixはメール転送エージェント(MTA)であり、メールの送受信に使用されるアプリケーションです。 このチュートリアルでは、Postfixをインストールして設定し、ローカルアプリケーション(つまり、Postfixと同じサーバーにインストールされているアプリケーション)のみが電子メールを送信できるようにします。
なぜあなたはそれをしたいのですか?
電子メールの送受信にサードパーティの電子メールプロバイダーをすでに使用している場合は、独自のメールサーバーを実行する必要はありません。 ただし、電子メール通知を送信する必要のあるアプリケーションをインストールしたクラウドサーバーを管理している場合は、サードパーティの電子メールサービスプロバイダーを使用したり、本格的なSMTPを実行したりする代わりに、ローカルの送信専用SMTPサーバーを実行することをお勧めします。サーバ。
このチュートリアルでは、PostfixをDebian9に送信専用SMTPサーバーとしてインストールして設定します。
Note: As of June 22, 2022, DigitalOcean is blocking SMTP for all new accounts. As a part of this new policy, we have partnered with SendGrid so our customers can still send emails with ease. You can learn more about this partnership and get started using SendGrid by checking out our DigitalOcean’s SendGrid Marketplace App.
前提条件
このチュートリアルに従うには、次のものが必要です。
-
Debian9初期サーバーセットアップチュートリアルでセットアップされた1台のDebian9サーバー、およびsudo非rootユーザー。
-
サーバーを指すexample.comなどの有効なドメイン名。 DigitalOceanでのDNSホスティングの管理に関するこれらのガイドラインに従うことで設定できます。
サーバーのホスト名は、ドメインまたはサブドメインと一致する必要があることに注意してください。 次のように入力して、サーバーのホスト名を確認できます hostname
コマンドプロンプトで。 出力は、サーバーの作成時にサーバーに付けた名前と一致する必要があります。
ステップ1—Postfixをインストールする
このステップでは、Postfixをインストールする方法を学びます。 2つのパッケージが必要になります。 mailutils
、Postfixが機能するために必要なプログラムが含まれています。 postfix
自体。
まず、パッケージデータベースを更新します。
- sudo apt update
次に、インストールします mailtuils
:
- sudo apt install mailutils
最後に、インストールします postfix
:
- sudo apt install postfix
インストールプロセスの終わり近くに、下の画像のようなウィンドウが表示されます。 デフォルトのオプションはインターネットサイトです。 これがこのチュートリアルの推奨オプションなので、を押します TAB
、 それから ENTER
.
その後、次の画像のような別のウィンドウが表示されます。 システムメール名は、サーバーの作成時にサーバーに割り当てた名前と同じである必要があります。 次のようなサブドメインが表示されている場合 subdomain.example.com
、それをちょうどに変更します example.com
. 終了したら、を押します TAB
、 それから ENTER
.
これでPostfixがインストールされ、構成設定を変更する準備が整いました。
ステップ2—Postfixを設定する
このステップでは、Postfixが実行されているサーバーからのみメールを送信するリクエストを処理するようにPostfixを設定します。 から localhost
.
そのためには、サーバーが内部通信に使用する仮想ネットワークインターフェイスであるループバックインターフェイスでのみリッスンするようにPostfixを構成する必要があります。 変更するには、を使用してメインのPostfix設定ファイルを開きます nano
またはお気に入りのテキストエディタ:
- sudo nano /etc/postfix/main.cf
ファイルを開いた状態で、次のセクションが表示されるまで下にスクロールします。
. . .
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
. . .
次の行を変更します inet_interfaces = all
に inet_interfaces = loopback-only
:
. . .
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.$your_domain, $your_domain
. . .
ファイルを保存して閉じます。
注: 1つのサーバーで複数のドメインをホストしている場合は、他のドメインを使用してPostfixに渡すこともできます。 mydestination
指令。 ただし、拡張性があり、そのような設定で問題が発生しない方法でPostfixを設定するには、この記事の範囲を超える追加の設定が必要です。
最後に、Postfixを再起動します。
- sudo systemctl restart postfix
ステップ3—SMTPサーバーをテストする
このステップでは、Postfixがを使用して外部のメールアカウントにメールを送信できるかどうかをテストします mail
コマンドの一部です mailutils
手順1でインストールしたパッケージ。
テストメールを送信するには、次のように入力します。
- 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フィールドのアドレスは次のようになります。 sammy@example.com
、ここで、 sammy はLinuxユーザー名であり、ドメインはサーバーのホスト名です。 ユーザー名を変更すると、Fromアドレスも変更されます。
ステップ4—システムメールの転送
最後に設定したいのは転送です。これにより、システムのrootに個人の外部メールアドレスでメールが送信されます。
システムで生成されたメールがあなたのメールアドレスに送信されるようにPostfixを設定するには、 /etc/aliases
ファイル:
- sudo nano /etc/aliases
Debian9のデフォルトインストールでのファイルの完全な内容は次のとおりです。
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
The postmaster: root
この設定により、システムで生成された電子メールがrootユーザーに送信されます。 これらの設定を編集して、これらの電子メールが自分の電子メールアドレスに再ルーティングされるようにします。 これを行うには、次のようにファイルを編集します。
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を確実に設定する必要があります。
-
DebianWheezyにPostfixを使用してDKIMをインストールおよび構成する方法。
正しく設定されている場合、これらの手順により、ドメインから発信されたように見えるアドレスでスパムを送信することが困難になります。 これらの追加の構成手順を実行すると、一般的なメールプロバイダーがサーバーからの電子メールを正当なものと見なす可能性も高くなります。