はじめに
私たちは毎日数多くのメールを受け取りますが、メールの送信と受信の仕組みについてはあまり知らないことが多いです。メールサーバをセットアップすることは恐ろしいように見えるかもしれませんが、適切な環境があれば完全に可能です。この実験では、メールサーバの仕組みを理解するだけでなく、自分で構成する実践的な経験を提供します。技術の実践的な側面に没頭し、あなたのデジタルコミュニケーションスキルを強化しましょう!
🎯 タスク
このプロジェクトでは、以下のことを学びます。
- Postfix メールサーバをインストールおよび構成する方法
- Vim を使って Postfix の設定ファイルを編集する方法
- ローカルユーザを作成し、メールのルーティング用のメールアドレスマッピングを設定する方法
- テスト用のメールを送信し、その配信状況を確認する方法
🏆 成果
このプロジェクトを完了すると、以下のことができるようになります。
- Postfix を使ってメールサーバをインストールおよび構成する
- 設定ファイルを編集してメールサーバの設定をカスタマイズする
- 効率的なメールルーティングのためにローカルユーザを作成し、メールアドレスマッピングを設定する
- メールの送信と受信を行ってサーバの機能をテストする
Postfix のインストール
このステップでは、メールの送信と受信に不可欠な一般的なメールサーバソフトウェアを学びます。この実験では、効率性とモジューラーな設計で知られる最新の MTA(Mail Transfer Agent)である Postfix に焦点を当てます。Postfix は現在も積極的に開発されており、高トラフィック環境に適しています。
ターミナルを開き、以下のコマンドで Postfix をインストールします。
sudo apt-get update
sudo apt-get install postfix
インストール中に、サーバータイプとしてInternet Siteを選択してください。これは、私たちのサーバー構成のニーズに合致しています。プロンプトが表示されたら、ドメイン名をlabex.ioに設定してください。

Postfix の設定
このステップでは、Linux 環境で人気のあるテキストエディタである Vim を使って Postfix の設定ファイルを編集します。Vim は初心者にとって複雑な場合があるので、Postfix の設定を変更するには、これらの指示に注意深く従ってください。
設定ファイルを開く
ターミナルに以下のコマンドを入力して、Vim でmain.cfファイルを開きます。
sudo vim /etc/postfix/main.cf
挿入モードに入る
デフォルトでは、Vim は「通常」モードで起動します。このモードでは、ファイルを移動できますが、テキストを編集することはできません。キーボードのiキーを押して「挿入」モードに入り、ファイルを変更できるようにします。
必要な変更を加える
矢印キーを使って変更する必要のある行に移動します。以下が必要な変更です。
myhostnameで始まる行を探して、myhostname = labex.ioに変更します。alias_mapsの行をalias_maps = hash:/etc/postfix/virtualに変更します。
任意ですが、このサーバを利用できるホストを定義するmynetworksセクションも設定できます。ここでは、デフォルトのローカルアドレスのみを使用します。

保存して終了する
- 必要な変更を加えた後、
Escキーを押して挿入モードを終了し、通常モードに戻します。 - 変更を保存して Vim を終了するには、
:wq(書き込みと終了)と入力してEnterキーを押します。 - 変更を保存せずに終了したい場合は、
:q!と入力してEnterキーを押します。
ローカルユーザの追加
ホームディレクトリを持つ「master」という名前のユーザを作成し、パスワードを設定します。
sudo useradd -m -d /home/master master
sudo passwd master
## パスワードを「123456」に設定する
このコマンドは、masterという名前のユーザを作成します。-dオプションと-mオプションは、ログイン名master用にホームディレクトリ/usr/masterを作成するために使用されます(デフォルトのユーザホームディレクトリは/usrの親ディレクトリにあります)。
メールアドレスマッピングの編集
Postfix がメールをルーティングするために使用するメールアドレスマッピングファイルを用意します。
echo "master@labex.io master" | sudo tee -a /etc/postfix/virtual
このコマンドは、/etc/postfix/virtualファイルに新しい行を追加し、メールアドレスmaster@labex.ioをローカルユーザmasterにマッピングします。Postfix はこのファイルを使って、ローカルユーザにメールをルーティングする方法を決定します。
マッピングの適用
以下のコマンドを呼び出して、マッピングを実装します。
sudo postmap /etc/postfix/virtual
postmapコマンドは、virtualファイルに加えられた変更を処理し、Postfix がメールをルーティングするために使用するデータベースを更新します。
次に、Postfix を再起動して変更を完了します。
sudo service postfix restart
Postfix を再起動することで、すべての設定変更が直ちに有効になります。
テストメールの送信
mailutilsをインストールし、別のユーザから「master」にメールを送信します。
sudo apt update
sudo apt-get install mailutils
mailutilsは、コマンドラインからメールを送信するために使用されるmailコマンドを提供するためにインストールされます。
echo "Hello, this is a test email." | mail -s "Test Email" master@labex.io
echoコマンドは、テストメッセージをmailにパイプします。これにより、件名が「Test Email」のメールがmaster@labex.ioに送信されます。このステップでは、サーバのメール受信能力がテストされます。
メールを確認する
次に、マスターユーザに切り替えてメールを確認します。
## 先ほど設定したパスワード「123456」を入力
su master
## メールを確認
mail
これらのコマンドは、ユーザmasterに切り替え、端末でメールクライアントを開きます。これにより、受信箱を表示してテストメールが届いていることを確認でき、Postfix が着信メールを正しく処理するように構成されていることが示されます。

Enterキーを押して、メールの全文を表示します。

まとめ
この実験では、Linux 上に Postfix メールサーバをセットアップするプロセスを、インストールからテストメールの送信までたどりました。メールサーバの設定と管理を理解し実装することで、メール通信のバックエンドをマスターする上で大きな一歩を踏み出しました。この知識は、技術スキルセットを向上させるだけでなく、ネットワークやサーバ管理のさらなる探求の基礎を提供します。



