このガイドでは、Ubuntu20.04サーバーにPostfixをインストールして設定する方法を学びます。 s-nail
を使用します (メールユーザーエージェント– MUA)Postfixがメールを正しくルーティングできることをテストします。
いくつかの必要最低限の電子メール機能を使用して、Postfixを起動して実行できるようになります。このガイドの終わりまでにフル機能のメールサーバーを使用することはできませんが、このような設定の基本的なコンポーネントのいくつかを使用して、開始するのに役立てることができます。
このガイドに従ってPostfixをインストールして設定するには、最初に次のものが必要です。
- Postfixサーバーとして機能するUbuntu20.04サーバー
- Ubuntu20.04サーバーを指す完全修飾ドメイン名。
このチュートリアルは、FQDNがmail.citizix.com
のホストを構成していることを前提としていることに注意してください。 。必要に応じて、必ずcitizix.com
を変更してください またはmail.citizix.com
自分のFQDNを反映するため。
ステップ1:サーバーが最新であることを確認します
続行する前に、サーバーがパッケージを更新したことを確認してください。これを実現するには、次のコマンドを使用します。
sudo apt update
sudo apt -y upgrade
ステップ2:Postfixのインストール
PostfixはデフォルトのUbuntuリポジトリにpostfix
として含まれています 。 APTでインストールできます。
ここでは、DEBIAN_PRIORITY=low
を渡すことに注意してください。 このインストールコマンドに環境変数を追加します。これにより、インストールプロセスで、いくつかの追加オプションを構成するように求められます。
sudo DEBIAN_PRIORITY=low apt install postfix
このインストールプロセスにより、一連のインタラクティブなプロンプトが開きます。次の情報を使用して、プロンプトに入力します。
- 一般的なタイプのメール構成? :これには、インターネットサイトを選択します これはインフラストラクチャのニーズに一致するためです。
- システムメール名 :これは、アドレスのアカウント部分のみが指定されている場合に有効な電子メールアドレスを作成するために使用されるベースドメインです。たとえば、サーバーのホスト名が
mail.citizix.com
。システムのメール名をcitizix.com
そのため、ユーザー名user1
、Postfixはアドレス[email protected]citizix.com
。 - ルートおよびポストマスターのメール受信者 :これは、
[email protected]
宛てのメールが転送されるLinuxアカウントです。 および[email protected]
。これにはプライマリアカウントを使用してください。この例の場合、管理者 。 - メールを受け入れるその他の宛先 :これは、このPostfixインスタンスが受け入れるメールの宛先を定義します。このサーバーが受信を担当する他のドメインを追加する必要がある場合は、ここに追加してください。それ以外の場合は、デフォルトで十分です。
- メールキューで同期更新を強制しますか? :ジャーナリングファイルシステムを使用している可能性が高いため、いいえを受け入れます ここ。
- ローカルネットワーク :これは、メールサーバーがメッセージを中継するように構成されているネットワークのリストです。デフォルトはほとんどのシナリオで機能します。ただし、変更する場合は、ネットワーク範囲を非常に制限するようにしてください。
- メールボックスのサイズ制限 :これは、メッセージのサイズを制限するために使用できます。
0
に設定する サイズ制限を無効にします。 - ローカルアドレス拡張文字 :これは、アドレスの通常の部分を拡張子(動的エイリアスの作成に使用)から分離するために使用できる文字です。デフォルトの
+
このチュートリアルで機能します。 - 使用するインターネットプロトコル :PostfixがサポートするIPバージョンを制限するかどうかを選択します。このチュートリアルでは、すべてを選択します 。
注 :これらの設定を変更するために戻る必要がある場合は、次のように入力してください:
sudo dpkg-reconfigure postfix
プロンプトには、以前の応答が事前に入力されています。
インストールプロセスが完了すると、Postfix設定にいくつかの更新を加える準備が整います。
ステップ3:Postfix設定を変更する
Postfixの設定設定は/etc/postfix/main.cf
で定義されています ファイル。 Postfixのpostconf
を使用できます ファイルを直接編集するのではなく、構成設定を照会または設定するコマンド。
まず、root以外のUbuntuユーザーのメールボックスの場所を設定します。このガイドでは、 Maildirを使用します 形式。メッセージを個々のファイルに分割し、ユーザーの操作に基づいてディレクトリ間を移動します。このガイドで説明されていない代替オプションは、 mbox 形式。すべてのメッセージを1つのファイルに保存します。
home_mailbox
を設定します Maildir/
への変数 。後で、ユーザーのホームディレクトリ内にその名前でディレクトリ構造を作成します。 home_mailbox
を構成します 次のように入力します:
sudo postconf -e 'home_mailbox= Maildir/'
次に、virtual_alias_maps
の場所を設定します テーブル。任意の電子メールアカウントをLinuxシステムアカウントにマップします。次のコマンドを実行します。このコマンドは、テーブルの場所を/etc/postfix/virtual
という名前のハッシュデータベースファイルにマッピングします。 :
sudo postconf -e 'virtual_alias_maps= hash:/etc/postfix/virtual'
これで、main.cf
で仮想マップファイルの場所を定義できました。 ファイルの場合、ファイル自体を作成し、Linuxシステムのユーザーアカウントへの電子メールアカウントのマッピングを開始できます。お好みのテキストエディタでファイルを作成します。この例では、vim
を使用します :
sudo vim /etc/postfix/virtual
メールを受け入れるアドレスをリストし、その後に空白とそのメールの配信先となるLinuxユーザーをリストします。
たとえば、[email protected]
でメールを受け取りたい場合 および[email protected]
これらのメールを管理者に配信してもらいたい Linuxユーザーの場合、次のようにファイルを設定できます:/etc/postfix/virtual
[email protected] admin
[email protected] admin
すべてのアドレスを適切なサーバーアカウントにマッピングしたら、ファイルを保存して閉じます。
次のように入力してマッピングを適用します:
sudo postmap /etc/postfix/virtual
Postfixプロセスを再起動して、すべての変更が適用されていることを確認します。
sudo systemctl restart postfix
ufwファイアウォールをインストールして有効にしている場合は、次のように入力してサービスへの接続を許可できます。
sudo ufw allow Postfix
配信されるメールを操作するために、この手順では、s-nail
をインストールするプロセスについて説明します。 パッケージ。これは、BSDのxmail
の機能豊富なバリアントです。 Maildir形式を正しく処理できるクライアント。
ただし、クライアントをインストールする前に、MAIL
を確認することをお勧めします。 環境変数が正しく設定されている。 s-nail
この変数を探して、ユーザーのメールの場所を特定します。
MAIL
変数は、アカウントへのアクセス方法に関係なく設定されます— ssh
を介してかどうか 、su
、su -
、またはsudo
たとえば、/etc/bash.bashrc
で変数を設定する必要があります ファイルを作成し、/etc/profile.d
内のファイルに追加します デフォルトですべてのユーザーに設定されていることを確認します。
これらのファイルに変数を追加するには、次のように入力します。
echo 'export MAIL=~/Maildir' | sudo tee -a /etc/bash.bashrc | sudo tee -a /etc/profile.d/mail.sh
変数を現在のセッションに読み込むには、/etc/profile.d/mail.sh
を入手します。 ファイル:
source /etc/profile.d/mail.sh
それが完了したら、s-nail
をインストールします APTを使用したメールクライアント:
sudo apt install s-nail
クライアントを実行する前に、調整する必要のある設定がいくつかあります。 /etc/s-nail.rc
を開きます エディター内のファイル:
sudo vim /etc/s-nail.rc
ファイルの最後に、次のオプションを追加します:/etc/s-nail.rc
. . .
set emptystart
set folder=Maildir
set record=+sent
これらの行の機能は次のとおりです。
-
set emptystart
:受信トレイが空の場合でもクライアントを開くことができます -
set folder=Maildir
:Maildir
を設定します 内部のfolder
へのディレクトリ 変数 -
set record=+sent
sent
を作成しますfolder
として設定されているディレクトリ内に送信済みメールを保存するためのmboxファイル 変数。この場合はMaildir
終了したら、ファイルを保存して閉じます。これで、システムのMaildir構造を初期化する準備が整いました。
ホームディレクトリ内にMaildir構造を作成する簡単な方法は、s-nail
を含むメールを自分に送信することです。 指図。 sent
ファイルはMaildirが作成された後にのみ利用可能になります。この最初の電子メールでは、ファイルへの書き込みを無効にする必要があります。これを行うには、-Snorecord
を渡します。 オプション。
文字列をs-nail
にパイプしてメールを送信します 指図。 Linuxユーザーを受信者としてマークするようにコマンドを調整します:
echo 'init' | s-nail -s 'init' -Snorecord admin
~/Maildir
を探すことで、ディレクトリが作成されたことを確認できます。 ディレクトリ:
ls -R ~/Maildir
ディレクトリ構造が作成され、新しいメッセージファイルが~/Maildir/new
にあることがわかります。 ディレクトリ:
$ ls -R ~/Maildir
/home/ubuntu/Maildir:
cur new tmp
/home/ubuntu/Maildir/cur:
/home/ubuntu/Maildir/new:
1643972360.V10301Ifbca3M171366.dev-ubuntusrv.inv.re 1643972375.V10301Ifbca5M242683.dev-ubuntusrv.inv.re
/home/ubuntu/Maildir/tmp:
ディレクトリ構造が作成されたので、s-nail
をテストする準備が整いました。 init
を表示してクライアント 送信したメッセージと外部のメールアドレスにメッセージを送信します。
クライアントを開くには、s-nail
を実行します コマンド:
s-nail
コンソールに、init
が記載された基本的な受信トレイが表示されます メッセージ待機中:
$ s-nail
s-nail version v14.9.15. Type `?' for help
/home/admin/Maildir: 1 messages 1 new
▸N 1 Ubuntu 2022-02-04 10:59 14/432 init
?
ENTER
を押します メッセージを表示するには:
[-- Message 1 -- 14 lines, 432 bytes --]:
From [email protected] Fri Feb 4 10:59:35 2022
Date: Fri, 04 Feb 2022 10:59:35 +0000
To: [email protected]
Subject: init
Message-Id: <[email protected]>
From: Ubuntu <[email protected]>
init
h
と入力すると、メッセージリストに戻ることができます 、次にENTER
:
h
▸R 1 Ubuntu 2022-02-04 10:59 14/432 init
メッセージの状態がR
になっていることに注意してください 、読み取られたことを示します。
このメッセージはあまり役に立たないため、d
を押して削除できます。 、次にENTER
:
d
ターミナルに戻るには、「q
」と入力します 次に、ENTER
:
q
最終テストとして、s-nail
かどうかを確認します 電子メールメッセージを正しく送信することができます。これを行うには、テキストファイルの内容をs-nail
にパイプします。 init
で行ったようにプロセス 前の手順で送信したメッセージ。
テキストエディタでテストメッセージを書くことから始めます:
vim ~/test_message
中に、送信したいテキストを入力します:
Hello,
This is a test. Please confirm receipt!
メッセージを書き込んだ後、ファイルを保存して閉じます。
次に、cat
を使用します メッセージをs-nail
にパイプするコマンド 処理する。これらのオプションを使用する次の例を使用して、これを行うことができます。
-
-s
:これは、電子メールメッセージの件名を定義します -
-r
:電子メールの「From:」フィールドへのオプションの変更。デフォルトでは、ログインしているLinuxユーザーがこのフィールドに入力するために使用されます。-r
オプションを使用すると、/etc/postfix/virtual
で定義したアドレスの1つなどの有効なアドレスでこれを上書きできます ファイル。説明のために、次のコマンドは[email protected]
を使用します
また、必ず[email protected]
アクセスできる有効なメールアドレスへ:
cat ~/test_message | s-nail -s 'Test email subject line' -r [email protected] [email protected]
次に、メッセージの送信先の電子メールアドレスの受信ボックスに移動します。メッセージがすぐにそこで待機しているのがわかります。
注 :メッセージが受信トレイにない場合は、迷惑メールフォルダに配信されている可能性があります。
送信したメッセージは、s-nail
内で表示できます。 クライアント。インタラクティブクライアントを再起動します:
s-nail
メールクライアントから、次のように入力して送信済みメッセージを表示します。
file +sent
コピー
次のような出力が表示されます:
$ s-nail
s-nail version v14.9.15. Type `?' for help
/home/admin/Maildir: 0 messages
No more mail.
? file +sent
+[/home/admin/Maildir/]sent: 1 message 1 new
▸N 1 [email protected] 2022-02-04 11:07 12/291 Test email subject line
?
受信メールと同じコマンドを使用して、送信メールを管理できます。
これで、Ubuntu20.04サーバーでPostfixが構成されました。電子メールサーバーの管理は、新しいシステム管理者にとって難しい作業になる可能性がありますが、この構成では、開始するのに十分なMTA電子メール機能が必要です。