VPSでメールサーバーを構築してみた(Dovecot編)

VPSでメールサーバーを構築してメールの送受信をしてみようと思います。
後述の前提条件にもあります通り、PostfixとDovecotを使いますが今回はDovecotについて記事にしたいと思います。

Postfix編はこちらをご覧ください。

関連記事

VPSでメールサーバーを構築してメールの送受信をしてみようと思います。 後述の前提条件にもあります通り、PostfixとDovecotを使いますが今回はPostfixについて記事にしたいと思います。 既存のメールサーバーを使う方法に[…]

既存のメールサーバーを使う方法についてはこちらをご覧ください。

関連記事

Lightsailインスタンスはpostfixを動かしてもメールを送ることができないようです。 「数通だったら送れた」という情報も見受けられますが、うちで試したところ1通も送ることができませんでした。 これを解除することもできるようです[…]

関連記事

レンタルサーバーで動かしていたWordPressをVPSに移行しました。 メールサーバーもVPSに移す予定なのですが、今はまだレンタルサーバーを契約したときについてきたメールサーバーを使っています。 VPSで外部のメールサーバーを使[…]

前提条件

  • OSはCentOS Stream 8であること
  • PostfixとDovecotをインストール済みであること
  • DNSのMXレコードが設定済みであること
  • メールサーバーに割り当てるドメインのSSL証明書が取得済みであること

構築手順

  1. dovecot.confの修正
    /etc/dovecotにあるdovecot.confの下記項目を修正します。

    #protocols = imap pop3 lmtp submission → protocols = imap pop3
    #listen = *, :: → listen = *, ::
  2. 10-mail.confの修正
    /etc/dovecot/conf.dにある10-mail.confの下記項目を追加・修正します。

    mail_location = maildir:~/Maildir
  3. 10-master.confの修正
    /etc/dovecot/conf.dにある10-master.confの下記項目を追加・修正します。

    service imap-login {
        inet_listener imap {
            port = 0
        }
    
        inet_listener imaps {
            port = 993
            ssl = yes
        }
    }
    
    service pop3-login {
        inet_listener pop3 {
            port = 0
        }
    
        inet_listener pop3s {
            port = 995
            ssl = yes
        }
    }
    
    service submission-login {
        inet_listener submission {
            port = 587
            ssl = yes
        }
    }
    
    service auth {
        # Postfix smtp-auth
        unix_listener /var/spool/postfix/private/auth {
            mode = 0666
            user = postfix
            group = postfix
        }
    }
  4. 10-auth.confの修正
    /etc/dovecot/conf.dにある10-auth.confの下記項目を追加・修正します。

    auth_mechanisms = plain login
  5. 10-ssl.confの修正
    /etc/dovecot/conf.dにある10-ssl.confの下記項目を追加・修正します。

    ssl_cert = <{SSL証明書をフルパスで記載}
    ssl_key = <{SSL証明書(秘密鍵)をフルパスで記載}
    ssl_dh = </etc/dovecot/dh.pem
  6. dh.pemファイルの作成
    下記コマンドでdh.pemファイルを作成します。
    環境にもよりますが比較的時間がかかります。

    openssl dhparam 4096 > dh.pem

    作成されたdh.pemファイルを上記ssl_dhで指定したパスに移動させます。

  7. ファイアウォールの設定
    ファイアウォールを有効にしている場合は下記のポートを開けてください。
    ・993/tcp
    ・995/tcp
  8. 自動起動設定と起動
    下記コマンドを実行して自動起動するように設定をして、起動します。

    sudo systemctl enable dovecot
    sudo systemctl start dovecot

まとめ

以上でDovecotの設定は完了です。

Postfixと連携することでメールの送受信が可能となります。

この記事がDovecotを使おうとしている方の参考になれば幸いです。