GNU/Linux >> Linux の 問題 >  >> Linux

Linux にインストールされた怖い Postfix を手なずける

あるサーバーから別のサーバーにメールを転送/送信するためのメール転送エージェント (MTA) を探していますが、それを取得する予算はありませんか? Postfix を使用しているすべての公開サーバーの 25% の一部になることを検討してみませんか? Postfix は、電子メールをルーティングおよび配信する無料のオープンソース MTA です。

このチュートリアルでは、Ubuntu サーバーに Postfix をインストールして構成する方法を学び、後で Postfix がメールを正しく送信するかどうかをテストします。

お金をかけずにメールを読んで配信しましょう!

前提条件

この投稿は、段階的なチュートリアルになります。先に進むには、少なくとも Ubuntu 14.04.4 LTS を実行しているコンピューターがあることを確認してください。このチュートリアルでは、Ubuntu 20.04.4 LTS を使用します。

Ubuntu マシンへの Postfix のインストール

Postfix は、送信者と受信者のコンピューター間で電子メールを転送するメッセージ転送エージェント (MTA) です。 Postfix のもう 1 つの優れた機能は、すべての主要な Unix オペレーティング システムと互換性がありますが、デフォルトではインストールされないことです。

Postfix を Ubuntu マシンにインストールするには、2 つのオプションがあります。 SSH を介してリモートで、または Ubuntu ターミナルを介して Ubuntu VM コンソールで直接。ただし、このチュートリアルでは、Postfix を SSH 経由でリモートでインストールします。

1. お気に入りの SSH クライアントを使用して、Ubuntu VM に SSH で接続します。

2. 次に、以下の apt update コマンドを実行して、システムに最新のパッケージ ソースがすべて利用可能であることを確認します。

sudo apt update 

3. 次の apt install コマンドを実行して、postfix パッケージをインストールします。

以下のコマンドでは、DEBIAN_PRIORITY=low 環境変数を渡し、追加オプションをさらに構成できるようにします。

コマンドを実行すると、Postfix Configuration 画面が表示されます (ステップ 4)。

sudo DEBIAN_PRIORITY=low apt install postfix

4. 次に、以下に示すように、メール サーバー構成タイプ (インターネット サイト) を強調表示し、Enter キーを押します。

5. ここで、システム メール名または完全修飾ドメイン名 (FQDN) を指定し、Enter キーを押します。このチュートリアルでは、Ubuntu マシンのホスト名を使用します。ただし、自分または登録済みドメインに適したものを選択できます。

ubuntu マシンのホスト名を見つけるには、hostname コマンドを実行します。

6. 次に、ルートとポストマスターのメール受信者 (ubuntu) を任意に設定し、Enter キーを押します。このルートおよびポストマスターは、メールが送信される Linux アカウントです。

7. メール サーバーがメールを受け入れるドメインを設定します。複数のドメインを追加して、Enter キーを押すことができます。

以下の構成では、localhost、ip-172-31-45-167.ec2.internal などの既定の電子メール ドメインを使用します。

8. メール キューの同期更新を強制するかどうかを選択します。ただし、この場合は、デフォルト (<いいえ>) を選択して Enter キーを押します。

9. マシンで電子メールを送受信できるローカル ネットワークを設定し、Enter キーを押します。このチュートリアルでは、入力ボックスで既に提供されているものと一緒にデフォルトのネットワークを使用します。

10. Postfix がメールボックスに対して持つべき制限を指定して、エラーが発生しないようにします。このチュートリアルでは、デフォルトを 0 バイトに設定し、Enter キーを押します。

11. メールボックスのサイズ制限を設定したら、ローカル アドレス拡張を定義するために使用する文字 (+) を指定します。

12. Postfix で使用するインターネット プロトコルを選択し、Enter キーを押します。このチュートリアルの選択は、ipv4 と ipv6 の両方を含む all です。

すべての構成変更を行った後、Postfix がすべての構成変更をプルして自動的にインストールすることが端末に表示されます。これで、Postfix ソフトウェアが正常にインストールされたはずです。

13. 最後に、以下の systemctl コマンドを実行して、Ubuntu マシンの Postfix ソフトウェアを確認します。

sudo systemctl status postfix

以下のアクティブ (終了) ステータスは、Postfix が正常にインストールされ、現在実行中であることを示しています。

メールアドレスのマッピング

Ubuntu マシンに Postfix を正常にインストールして構成しました。これは、Postfix を活用するための大きな一歩です。ただし、Linux マシンで電子メールを送信できるように電子メール アドレスをマッピングするなど、他にも必要な構成と設定があります。

Linux マシンで定義された電子メール アドレスのいずれかから電子メールを受信するには、Linux アカウントに関連付けられた電子メール アドレスをマップします。

1. /etc/postfix/virtual を編集します 好みのテキスト エディターでファイルします。

2. 次に、次の行を virtual に追加します。 ファイルを作成し、変更を保存してエディターを閉じます。

ubuntu (末尾) は Linux マシンのユーザーで、[email protected] は From と To のメール アドレスです。

[email protected] ubuntu

3. 次に、以下のコマンドを実行します。出力は提供されませんが、メール マッピング (postmap) を適用し、ステップ 1 で行った変更を有効にするために postfix を再起動します。

sudo postmap /etc/postfix/virtual
sudo systemctl restart postfix

4. Postfix が再起動したら、次のコマンドを実行して、UFW ファイアウォールで Postfix を許可します。そうすることで、マシン上でブロックされることなくメールを送信できます。

sudo ufw allow Postfix

5. 最後に、以下の postconf コマンドを実行して、最初のメールボックスの場所 (home_mailbox =Maildir/) を設定します。これは後でいつでも変更できます。

sudo postconf -e 'home_mailbox= Maildir/'

メール クライアントをインストールして Linux マシンにメールを送信する

Postfix を完全に構成したので、Ubuntu マシンが電子メールを受信するかどうかをテストします。ただし、最初に、電子メール クライアント s-nail をインストールする必要があります。これは、最も広く使用されている Ubuntu と互換性のあるメール クライアントの 1 つです。

1. 以下のコマンドを実行して、メールを受信するメールボックス ディレクトリ (MAIL=~/Maildir) を指定します。

このコマンドは、Postfix に現在のセッション (/etc/bash.bashrc) でメールを受信し、~/Maildir ディレクトリで永続的に (/etc/profile.d/mail.sh) 受信するように指示します。

tee コマンドは、標準入力を読み取り、それを標準出力と 1 つ以上のファイルの両方に書き込みます。

echo 'export MAIL=~/Maildir' | sudo tee -a /etc/bash.bashrc | sudo tee -a /etc/profile.d/mail.sh

2. 次に、apt install コマンドを実行して、MAIL 変数を使用してマシンに s-nail をインストールします。

sudo apt install s-nail

3. s-nail クライアント構成を編集します (/etc/s-nail.rc )、エディターで次のコマンドを追加します。

これらのコマンドにより、s-nail クライアントは空の受信ボックスを開き (emptystart)、メールボックスの場所をディレクトリ パスとして設定し (folder=Maildir)、送信済みメールボックス ファイルを生成します (record=+sent)。

set emptystart
set folder=Maildir 
set record=+sent

4. 次に、以下のコマンドを実行して、-Snorecord オプションを使用して電子メールを送信します。これにより、構成済みのメールボックス ディレクトリ (/Maildir) 内に適切なディレクトリ構造が生成されます。

このコマンドは出力を提供しませんが、次の手順でディレクトリ構造を確認します。

echo 'init' | s-nail -s 'init' -Snorecord ubuntu

5. 次の ls コマンドを実行して、ディレクトリ構造が正常に作成されたかどうかを確認します。

ls -R ~/Maildirexit

成功すると、以下に示すようにディレクトリ構造が作成されます。

6. 最後に、以下の s-nail コマンドを実行して受信トレイを確認します。

s-nail

s-nail コマンドを実行すると、設定した次の構成を使用して (手順 4 で) メールが正常に送信されたことがわかります。

  • 日付:2022 年 6 月 12 日
  • 件名:初期化

メールを外部リレー (Google) に送信するように Postfix を構成する

Postfix を使用してローカル マシンでメールを送信する方法を学習しました。しかし、Postfix はローカル マシンの外に電子メールを送信できますか?はい!外部 SMTP リレーを使用してメールを送信するように Postfix を構成します。

Postfix を構成する前に、下の図を参照して、外部 SMTP を使用する場合の電子メール ワークフローを理解してください。

外部 SMTP を使用するように Postfix を構成するには:

1. /etc/postfix/sasl/sasl_passwd を編集します ファイルを開き、SMTP リレー メール アドレス、Google メール アドレス、およびパスワードを含む次の行を追加します。

[smtp.gmail.com]:587:587 [email protected]:password

2. 次に、以下の postmap コマンドを実行して、ステップ 1 で構成した資格情報が暗号化されるようにします。このコマンドは、パスワード ファイル (sasl_passwd.db) を作成します。 同じ場所にあります。

sudo postmap /etc/postfix/sasl_passwd

3. 次の各コマンドを実行します。出力はありませんが、パスワード ファイル (sasl_passwd.db) のセキュリティと所有権を変更します。 )。これらのコマンドは、ルート ユーザー アクセスと読み取り/書き込みのみを制限します。

sudo chown root:root /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
sudo chmod 0600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db

4. /etc/postfix/main.cf を編集します。 ファイルを開き、次の構成を追加して、メールを安全に送信できるようにします。

relayhost = [smtp.gmail.com]:587
smtp_sasl_security_options = noanonymous
smtp_sasl_auth_enable = yes
header_size_limit = 4096
smtp_sasl_password_maps = hash:/etc/postfix/sasl/sasl_passwd
smtp_tls_security_level = encrypt
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtp_use_tls = yes
smtp_sasl_tls_security_options = noanonymous

5. 以下のコマンドを実行します。出力はありませんが、postfix サービスが再起動されます。 Postfix サービスを再起動すると、 /etc/postfix/main.cf で行った構成が保証されます ステップ 4 のファイルが有効になります。

sudo service postfix restart 

6. 最後に、以下のコマンドを実行してメール (echo) を Google アカウントに送信し、マシンのログ (tail) を確認します。

echo "Test Postfix Gmail SMTP Relay" | mail -s "Postfix Gmail SMTP Relay " [email protected]
sudo tail /var/log/mail.log

以下に示すように、メールは Google リレーに正常に送信されました。

または、Gmail アカウントに移動すると、以下のようなメールが表示されます。

結論

このチュートリアルでは、Ubuntu マシンで Postfix をセットアップして構成する方法を学習しました。メール クライアントをインストールして Postfix と統合し、Linux アカウントにマッピングされたメール アドレスを使用して未加工のメールを送信しました。

この時点で、Postfix を便利な電子メール エージェントとして使用して、電子メールを安全にルーティングおよび配信する自信があります。

API や SDK を使用するなど、メールを送信する方法は他にもあります。しかし、ローカル ネットワークで電子メール メッセージを送信したい場合は、開発目的には Postfix と s-nail を組み合わせるのが最適です。


Linux
  1. Ubuntu14.10にDropboxをインストールします

  2. MX Linux 対 Ubuntu

  3. Linux 用の 7-Zip

  1. Ubuntu – Linux上のVcenterサーバー?

  2. Ubuntu13.04上のHuaweiLinuxドライバー?

  3. Amazon EC2 の Amazon Linux と Ubuntu の比較

  1. UbuntuLinuxダウンロード

  2. UbuntuLinuxにGitlabをインストールする

  3. Amazon Linux AMI と Ubuntu の比較