
私の VPS は Ubuntu を実行しており、自分のドメインへのメールを受信できるようにしたいと考えています。
これを実行するためにメール サーバーを簡単に設定するにはどうすればよいですか?
答え1
これは、私たちの生産マシンにメールをセットアップする方法です。
- メールアカウント
- メールエイリアス(転送)
- IMAP、POP3、およびSMTP
「イージー」(TL; DR)
まず、私が取り上げたいのは、最も簡単解決。
sudo tasksel install mail-server
これを試したときにこれに関するいくつかの問題が発生しました:最初にDoveCotをインストールします。私たちのニーズを満たします。2 番目に、Postfix を利用します。これは素晴らしいことですが、より強力な MTA/SMTP サーバーである Exim も必要です。3 番目に、MySQL をインストールします。私が利用する構成では、構成にフラット ファイルを使用することを好みます。これは、ブレーク ポイントが 1 つ少なくなるためです。MySQL が何らかの原因でクラッシュしたらどうなるか考えてみてください。それ以外のパッケージは、小規模なメール サービス (合計 1 ~ 2 個のメール ドメイン) では、非常に単純で、メンテナンスが簡単です。
当社の構成
ディレクトリ構造
通常の構成のパスの外に少し外れますが、管理が容易になります。
私たちのメールはすべて保存されているので、/var/mail/virtual/<domain>/<user>/mail
将来の例では[email protected]
、電子メールアドレス、先送り者、およびそれぞれ悪いアドレスを表しています。[email protected]
[email protected]
[email protected]
/var/mail/virtual/example.com/email/mail
また、サーバー上のすべてのドメインのリストも管理していますが、/etc/valiases
これについては後ほど詳しく説明します。
ポストフィックス
これは、セットアップの簡単な部分ですpostfix
。
輸出入
Exim をインストールします。apt-get install exim4 exim4-base exim4-config exim4-daemon-heavy
インストールしたら、exim のデフォルト設定を編集して、次の値を置き換えたり追加したりする必要があります。
domainlist local_domains = @:localhost:dsearch;/etc/valiases:dsearch;/var/mail/virtual
daemon_smtp_ports = smtp : 587 : 465
MAIN_TLS_ENABLE = yes
(これらの行はファイルのさまざまな部分に表示されるので、それぞれを適宜置き換えてください)
これが完全に再構築されると、update-exim4.conf
Exim構成がEximに必要な変更を終了します
宅配便
courier-base
これを使用して Courier をインストールすると、、、、、、がcourier-authdaemon
インストールされますcourier-authlib*
。courier-imap*
courier-pop*
courieruserinfo
courier-ssl
正直なところ、標準以外の構成はあまりありません。ユーザー データベースを作成するだけで済みます。
アカウント
Exim と Courier は、ログインまたは受信メールが有効かどうかを確認するためにいくつかの場所をチェックします。Exim は、ドメインがローカル ホスト名としてリストされているかどうか、ドメインが にあるかどうか、/var/mail/virtual
またはドメインが にあるかどうかをチェックします/etc/valiases
。
メールアカウントの作成
最終的に、このプロセスを効率化するためのツールをいくつか作成しましたが、新しいユーザーを追加すると次の問題が発生します。
mkdir -p /var/mail/virtual/example.com/email
chown -R mail.mail /var/mail/virtual/example.com/
maildirmake /var/mail/virtual/example.com/email/mail
chown -R mail.mail /var/mail/virtual/example.com/
次に、そのアドレスをcourierのユーザーDBに追加してログインできるようにします。
userdb [email protected] set uid=8 gid=8 home=/var/mail/virtual/example.com/email mail=/var/mail/virtual/example.com/email/mail
適切な値を必ず置き換えてください。またuid
、gid
必要メール ユーザーの数値ユーザー/グループ ID になります。
userdbpw -md5 | userdb [email protected] set systempw
これにより、パスワードを求めて、アカウントに使用するパスワードを入力します。
makeuserdb
最後に、userdb ハッシュ/シャドウ ファイルを生成します。Courier を再起動して、変更が機能するかどうかをテストします。
authtest [email protected]
似たようなものを生成するはずです
Authentication succeeded.
Authenticated: [email protected] (uid 8, gid 8)
Home Directory: /var/mail/virtual/example.com/email
Maildir: /var/mail/virtual/example.com/email/mail
Quota: (none)
Encrypted Password: $1$LOLCATS$THISWILLBEAHASH.
Cleartext Password: (none)
Options: (none)
「認証に失敗しました: 操作は許可されていません」と表示される場合は、代わりに /etc/courier/authdaemonrc を編集し、authmodulelist 行に authuserdb を追加します。
すべてのテストが確認された後、関係するさまざまなサービス(courier-authdaemon
、exim4
)を再起動し、ポート143、25、586、495、110を開き、お気に入りのメールクライアントのアカウントをセットアップします。
メールエイリアスの作成
/etc/valiases
各ドメインについて、少なくとも次の行で(存在しない場合は作成)にファイルを作成する必要があります。
*: :fail: No user at this address.
これが言うこと:受信メールがファイルにあるメールアカウントと一致しない場合、メールに失敗し、「このアドレスにユーザーが送られていない」というメッセージでバウンスする必要があります[email protected]
。
しかし、他の場所で維持したいメールアドレスがいくつかあります。例えば、[メールアドレス]- そのためには、作成する必要があり/etc/valiases/example.com
、ファイルの内容は次のとおりです。
fwd: [email protected]
*: :fail: No user at this address.
そうすることで、[メールアドレス]サーバー上のメールアカウントと一致せず、/etc/valiases
ファイルに一致すると、メールはに転送されます[メールアドレス]- しかし、[メールアドレス]「このアドレスでユーザーなし」メッセージでまだ失敗します。
答え2
最も簡単な方法は、 を実行することですsudo tasksel install mail-server
。これにより、適切なデフォルト設定のメール サーバーが提供されます。必要なのは、いくつかの質問に答えることだけです。もちろん、必要な場合は後で手動で構成することもできますが、ほとんどの場合、そうする必要はありません。画面上の指示に従うだけで問題ありません。
ただし、電子メール サービスの管理について読むことは絶対にお勧めです。
公式リファレンス:
答え3
「素晴らしい答え」はありませんが、これらのリンクが役に立つかもしれませんhttps://help.ubuntu.com/community/PostfixBasicSetupHowto#受信メールとhttps://help.ubuntu.com/community/Postfix
答え4
私自身もこれをやっていますが、確かに postfix が必要です。また、私の場合は、別のマシンで優れた GUI クライアント (名前は挙げません) を使用できるように、IMAP サーバーも必要でした。次のドキュメントを使用しました:
鳩小屋(imap と pop3)
実際には非常に簡単で、数分で起動してメールを受信しています。これは、すべてが適切に設定されているかどうかを確認するのにも役立ちます。ping 可能性。
ああ、そしてもちろん、以下のようにDNSエントリを正しく設定する必要があります(私のために働いた設定に基づいて):
name type content
@ A ???.???.??.??
mail A ???.???.??.??
そして
MX Records
Name Priority
mail.mydomain.com. 1
mail2.mydomain.com. 2
メール サーバーの末尾のピリオドに注意し、適切な場所に IP アドレスとドメイン名を挿入します。