目的:PostfixとDovecotのみを使用し、デフォルト設定を最小限に変更して、最小限の動作をするメールサーバーを取得します。 システムのフレームワークを取得します。これに基づいて、将来、スパムフィルターを構成し、データベース、LDAPを操作できます。
郵便システムは以下を行う必要があります。
- 任意の数のドメインとユーザーをサポートします。
- ローカルアカウントに関連付けられていないユーザーにサービスを提供します。
- POP3、TLSサポート付きIMAPを介してメールボックスへのアクセスを提供します。
- TLSサポート付きのSMTPプロトコルを使用して、電子メールの送受信を提供します。
設定はCentOS 6で実行されました。Postfix2.6.6、Dovecot 2.0.9。 OS機能は適用されませんでした。
メールシステムの構造
慣例により、メールシステムは、メールボックスへのアクセス方法とユーザーのリストによって分けることができます。
従来のメールシステムPostfix、Dovecotはユーザーのリストにアクセスして並行して作業し、ユーザーのメールボックスへのアクセスを共有します。 | 簡易メールシステムDovecotは、ユーザーのメールボックスにアクセスするための「バックエンド」です。 このアプローチでは、メールボックスの場所であるユーザーのリストはDovecotのみが知っています。 目標を達成するために使用するのはこのアプローチです。 |
 |  |
単純化されたシステムと比較した古典的なシステムの主な利点:
- パフォーマンス。 Postfixはメールボックスにアクセスでき、2番目の場合よりも速く簡単にユーザーにメールを直接配信できます。
- システムの各部分が互いに独立していること。 Dovecotが切断された場合、Postfixは主な機能を継続します-手紙を受け取ります。
単純化されたシステムと比較した古典的なシステムの主な欠点:
- メールボックスの形式は、両方のプログラムで明確にする必要があります。
- メールボックスへのアクセスを同期する必要があります。
- 安全性 Postfixには追加の権限が必要です。 Postfixは、メールボックスとユーザーのリストに直接アクセスできる必要があります。
- セットアップとメンテナンスはもう少し複雑です。
ドコット
Dovecotはシステムの中核であるにもかかわらず、多くの機能を実行します。 その設定は問題を引き起こさないはずです。 おそらくこれは、Dovecotが認証されたクライアントのみを扱うという事実によるものであり、Postfixについては言えません。 名前はusername @ domainnameの形式で設定されます。
- ユーザー「vmail」を作成して、「shell」アクセスなしで、ホームフォルダ「/ home / vmail」を使用してメールを保存します。
- 認証を設定します。
auth_mechanisms = plain login
(ログインは同じプレーンですが、Outlookの場合)
mail_gid = vmail mail_uid = vmail
Dovecotでは、TLS接続の確立後のみパスワード送信の制限がデフォルトで実行され、追加の設定は必要ありません。 TLSを使用するため、他の認証メカニズムは不要で、PLAINのみが必要です。 Dovecotが/ etc / pki / dovecot / certs /フォルダーにインストールされると、CentOSの自己署名証明書が作成されます。これを使用して、TLSを構成します。
重要な点に注意を向けたいと思います。 認証メカニズムと認証データの保存方法を区別する必要があります。 これら2つの概念は同じと呼ばれることもありますが、2つの異なるものです。 詳細はこちらとこちら 。
- ユーザーのメールボックスを保存する場所を設定します。
仮想ユーザーごとに、ホームフォルダーを次の形式で設定します-/ home / vmail / domain / username
mail_home = /home/vmail/%d/%n
およびホームフォルダ内のメールの場所-/ home / vmail / domain / username / Maildir、 mail_location = maildir:~/Maildir
Maildirメールボックスの形式は、必要に応じて従来のシステムへの移行を簡素化するために選択されます。 PostfixはMaildirをサポートしています。 ただし、従来のシステムに戻る予定がない場合は、Dovecotでサポートされているメールボックス形式を選択できます。
- 次の2つのディレクティブは、Dovecotがユーザー名とパスワードを検索する場所と方法を指定します。
userdb { args = username_format=%u /etc/dovecot/users driver = passwd-file } passdb { args = scheme=ssha512 username_format=%u /etc/dovecot/users driver = passwd-file }
標準のパスワードファイル/ etc / passwdの形式の/ etc / dovecot / usersファイルを使用しました。
パスワードファイルの例(パスワードは切り捨てられます):
user1@example1.com:{SSHA512}2YT51xuhilbvb4vYRIb1oj1EvrKFszhf2MNw=:::::: user3@example3.com:{SSHA512}GdBv9GEE1rfFpd4+fzXS+UKh4x6gTpTaH4=::::::
セキュリティのため、ユーザーパスワードはクリアテキストではなく、ソルトされたSHA512を保存します。 ファイル「/ etc / dovecot / users」に入力するために、ユーザーのユーザー名とパスワードの2つのパラメーターでこのスクリプトを使用します。
- Postfixとの通信用のサービスをセットアップします。
ユーザー名とSASL認証を検索します。
service auth { unix_listener /var/spool/postfix/private/auth { group = postfix mode = 0660 user = postfix } unix_listener auth-userdb { mode = 0600 user = vmail } }
ユーザーのメールボックスにアクセスするため。
service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { group = postfix mode = 0600 user = postfix } user = vmail } protocol lmtp { postmaster_address = postmaster@example1.ru }
より詳細に読むことができます:ここでLMTPについて、ここでLMTPとPostfixについて、そしてここでSASLについて。
これで、/ etc / dovecot / usersファイルにユーザー名とパスワードを追加するだけで十分になり、ユーザー認証が最初に成功した後にメールボックスが自動的に作成されます。 または、ユーザーが手紙を受け取った後、先を見てください。
パート2:Postfix