web-dev-qa-db-ja.com

メールサーバーを設定するにはどうすればよいですか?

私のVPSはUbuntuを実行しています。私のドメインへのメールを受信できるようにしたいと思います。

これを行うためにメールサーバーを簡単に設定するにはどうすればよいですか?

59
Stefano Palazzo

これが私たちの生産マシンでメールをセットアップする方法です。必要な基準は次のとおりです。

  • メールアカウント
  • メールエイリアス(フォワーダー)
  • IMAP、POP3、およびSMTP

「簡単」(tl; dr)

まず、easiestソリューションと思われるものに対処したいと思います。

Sudo tasksel install mail-server

これを試してみると、いくつかの問題が発生しました。まず、Dovecotをインストールします。ほとんどの場合は問題ありませんが、ourのニーズに対してCourierの方が優れていると判断しました。第二に、それは素晴らしいPostfixを利用しますが、より強力なMTA/SMTPサーバーであるEximも必要です。第三に、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をインストールします。インストールしたら、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-authdaemoncourier-authlib*courier-imap*courier-pop*courieruserinfocourier-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/

次に、クーリエuserdbにアドレスを追加します-そうすれば、彼らはログインできます

userdb [email protected] set uid=8 gid=8 home=/var/mail/virtual/example.com/email mail=/var/mail/virtual/example.com/email/mail

必要に応じて値を置き換えてください。また-uidおよびgidneedは、メールユーザーの数値ユーザー/グループ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を編集し、authuserdbをauthmodulelist行に追加します。

すべてのテストを確認したら、関連するさまざまなサービス(courier-authdaemonexim4)を再起動し、ポート143、25、586、495、110を開いて、お気に入りのメールクライアントでアカウントを設定します。

メールエイリアスの作成

ドメインごとに、少なくとも次の行を使用して、/etc/valiases(存在しない場合は作成)にファイルを作成する必要があります。

*: :fail: No user at this address.

これが言っていること:受信メールがファイルにあるメールアカウントと一致しない場合-メールは失敗し、「このアドレスにユーザーはいません」というメッセージが返ってくるはずです。したがって、送信するすべてのメール:[email protected]は失敗としてバウンスされます。

ただし、他の場所で維持したいメールアドレスがいくつかあります。たとえば、example @ gmail.com-/etc/valiases/example.comを作成する必要があり、ファイルの内容は次のようになります。

fwd: [email protected]
*: :fail: No user at this address.

これにより、fwd @ example.comはサーバー上のどの電子メールアカウントとも一致しませんが、/etc/valiasesファイルで一致し、メールは[email protected]に転送されます-ただし、foo @ example。 「このアドレスにユーザーはいません」というメッセージが表示されて、comは引き続き失敗します。

48
Marco Ceppi

最も簡単な方法は、Sudo tasksel install mail-serverを実行することです。これにより、正常なデフォルトのメールサーバーが提供されます。あなたがしなければならないことは、いくつかの質問に答えることです。明らかに、必要な場合は後で手動で構成することもできますが、ほとんどの場合は手動で構成する必要はありません。画面上の指示に従うだけで大丈夫です。

ただし、電子メールサービスの管理について読むことをお勧めします。

公式リファレンス:

14

「素晴らしい答え」はありませんが、これらのリンクは役に立つかもしれません https://help.ubuntu.com/community/PostfixBasicSetupHowto#Receiving メールと https:// help .ubuntu.com/community/Postfix

5
fragos

自分でこれを行っているだけで、実際には後置が必要です。私の場合は、imapサーバーも必要で、別のマシンでNice guiクライアント(名前は言及しません)を使用できます。私はこれらの文書を使用しました:

Postfix

Dovecot (imapおよびpop3)

実際には非常にシンプルで、数分で起動して実行され、電子メールを受信して​​います。これは、すべてが正しく設定されていることを確認するのにも便利です pingability

ああ、あなたはもちろん、(私のために働いた設定に基づいて)以下のようにDNSエントリを正しく設定する必要があります:

name   type   content
  @      A     ???.???.??.??    
mail     A     ???.???.??.??

そして

         MX Records
Name                 Priority
mail.mydomain.com.      1
mail2.mydomain.com.     2

メールサーバーの最後で完全に停止することに注意し、必要に応じてIPアドレスとドメイン名を挿入します。

4
NimChimpsky