Dovecot は、IMAP と POP3 プロトコルの両方を介して完全なセキュリティで Linux サーバー上で電子メールを受信できるようにするオープン ソース アプリケーションです。
このチュートリアルでは、Ubuntu 18.04 で Dovecot を構成するために必要なすべての手順について説明します。
DNS レコードの設定
Dovecot の実際のインストールに進む前に、ドメイン レコードが正しく設定されていることを確認してください。
ドメイン domain.com を所有していると仮定すると、最初に行うことは、「mail」という名前の第 3 レベル A レコードを設定し、同じアドレスを指すようにすることです。次に、サーバーでメールを受信するには、作成した第 3 レベル ドメインを指す MX タイプ レコードを作成します。
ホスト名 | TYPE | VALUE |
メール | A | [SERVER_IP] |
MX | mail.domain.com |
この時点で、SSH 接続を介してサーバーに接続できます。まだ行っていない場合は、ガイドに従って SSH で安全に接続することをお勧めします。ローカル サーバーの場合は、次の手順に進み、サーバーのターミナルを開きます。
Dovecot のインストール
SSH 経由でサーバーに接続した後、次のコマンドを実行して Dovecot をインストールします:
$ sudo apt update && sudo
apt install dovecot-core dovecot-pop3d dovecot-imapd
すべての Dovecot 設定ファイルは、/etc/dovecot/ディレクトリにあります。このディレクトリにはいくつかのファイルがあります。各ファイルは、サービスが開始されると、メイン ファイルに含まれる特定のパラメータ セットに関係します。サービス、つまり dovecot.conf を次のように変更する必要があります:
# Abilitiamo i protocolli IMAP e POP3
protocols = imap pop3
#Allows Dovecot to listen to all input connections (ipv4 / ipv6)
listen = *, ::
構成ファイル /etc/dovecot/conf.d/10-mail.conf には、別の重要なパラメータがあります:
mail_location = maildir:~/Maildir
このパラメータを使用すると、ユーザーから受信したすべての電子メールを保存するための適切なパスを指定できます。上記の例では、参照ユーザーのホームに存在する Maildir ディレクトリが設定されています。
ファイル /etc/dovecot/conf.d/20-pop3.conf 内のもう 1 つの便利なパラメーターを使用すると、一部の古い Outlook クライアントとの互換性を維持できます:
pop3_uidl_format = %08Xu%08Xv
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
ユーザーの作成
現在の Dovecot 設定は、メールボックスにアクセスするためにシステムに存在するユーザーに基づいています。基本的なインストールが完了したら、最初のユーザーの作成に進みます:
# User creation
$ sudo useradd john -m
# set password of user
$ sudo passwd john
# mails directory
$ sudo mkdir /home/john/Maildir
$ sudo chown john:john /home/john/Maildir
$ sudo chmod -R 700 /home/john/Maildir
ファイアウォールの構成
システムにファイアウォールがある場合は、メール トラフィックを有効にするように構成してください。
UFW ファイアウォールを使用する場合、Dovecot 用のプリインストールされたプロファイルが提供されます。それでは、それらを有効にする方法を見てみましょう。
UFW ファイアウォールにインストールされている利用可能なプロファイルを確認するには、次のコマンドを実行します:
$ sudo ufw app list
次のようなリストが画面に表示されます:
Available applications:
Dovecot IMAP
Dovecot POP3
Dovecot Secure IMAP
Dovecot Secure POP3
Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH
Postfix
Postfix SMTPS
Postfix Submission
メール トラフィックを許可するには、Dovecot プロファイルを有効にします。
プロフィール情報を確認するには:
$ sudo ufw app info "Dovecot IMAP"
プロファイルを確認したら、プロファイルを有効にする準備が整いました:
$ sudo ufw allow "Dovecot POP3"
$ sudo ufw allow "Dovecot IMAP"
$ sudo ufw allow "Dovecot Secure IMAP"
$ sudo ufw allow "Dovecot Secure POP3"
メールサーバーの動作確認
POP3 サーバーが正しく機能しているかどうかを確認するには、telnet を使用します。システムにインストールされていない場合は、次のコマンドを実行してインストールしてください:
$ sudo apt install telnet
メール サーバーのテストを開始するには、telnet を開始します。
$ sudo telnet localhost 110
すべてが正しく機能すると、次の出力が画面に表示されます:
Connected to localhost.
Escape character is '^]'.
+OK Dovecot ready.
次に、user and pass コマンドを使用してユーザー名とパスワードを入力します:
user john
pass test
ログインが完了すると、サーバーは次の出力を送信します:
+OK Logged in.
実際のメッセージを受信するには、postfix パッケージで提供されるメール コマンドを使用します (Ubuntu 18.04 で Postfix を使用して SMTP メール サーバーを構成する方法のガイドに従って Postfix をインストールできます):
$
echo "TEST" | mail -s "TEST" [email protected]
メールが送信されたら、上記のコマンドを使用して、もう一度 telnet を使用してメールボックスにアクセスします。
$ telnet localhost 110
Trying ::1...
Connected to localhost.
Escape character is '^]'.
+OK Dovecot ready.
user john
+OK
pass test
+OK Logged in.
ログインしたら、受信したメッセージのリストを取得するには、list コマンドを実行します:
list
+OK 1 messages:
1 533
.
ご覧のとおり、未読メッセージがあります:RETR コマンドを使用してコンテンツにアクセスしてください:
retr 1
+OK 533 octets
Return-Path: <[email protected]>
To: [email protected]
Subject: Test
User-Agent: Heirloom mailx 12.5 7/5/10
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-Id: <[email protected]>
From: [email protected] (root).