CentOS8 で WebminとVirtualminが入ってる前提です。
サーバーの証明書がちゃんと設定されていなかったり、メールアドレスで使用する独自ドメインと設定されている送受信サーバーの証明書の
ドメインが異なる場合、Gmailの設定でエラーになるようです。
hogehoge.comの独自ドメインのメールアドレスをGmailで設定して使用するためにhogehoge.comのSSL証明書を発行して設定します。
POP(110番)のポートの接続を許可するために 10-ssl.confを編集
$ vi /etc/dovecot/conf.d/10-ssl.conf
ssl = requiredを変更
ssl = yes
ちなみに
ssl = required: SSL/TLS(995番)のみ接続
ssl = yes :SSL/TLS(995番)とPOP(110番)の接続
ssl = no :POP(110番)のみ接続
Virtualminで仮想サーバーを作成してSSLの証明書を発行。今回は無料のSSL、Let’s Encryptを使用。
サーバー構成->SSL証明書->暗号化しましょう ー>証明書をリクエストをクリックするだけ。
成功するとSSLの証明書フィルが以下に出力されます。(現在の証明書タブでファイルのパスは確認できます。)
SSL証明書:/home/hogehoge/ssl.cert
SSL秘密鍵:/home/hogehoge/ssl.key
この時、SSL証明書 + 中間証明書:/home/hogehoge/ssl.combined のファイルも出力されていますので、設定時にはssl.certではなくてssl.combinedを使用します。
Postfixのmain.cfを設定。証明書のパスを設定します。(virtualminの最新をインストールするとその他はデフォルトで設定されてる?ようです。)
$ vi /etc/postfix/main.cf
smtpd_tls_cert_file = /home/hogehoge/ssl.combined
smtpd_tls_key_file = /home/hogehoge/ssl.key
Dovecotの10-ssl.confも再度編集。証明書のパスを設定します。
$ vi /etc/dovecot/conf.d/10-ssl.conf
ssl_cert = </home/showahd/ssl.combined
ssl_key = </home/showahd/ssl.key
Postfixとdovecotを再起動
$ systemctl restart postfix
$ systemctl restart dovecot
SSLがちゃんと通ってるか確認します。私の場合は自分のMacから
$ openssl s_client -connect hogehoge.com:587 -starttls smtp
問題なければ、こんな感じになります。
略
depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
verify return:1
depth=0 CN = hogehoge.com
verify return:1
---
Certificate chain
0 s:/CN=showahd.co.jp
i:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
1 s:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
i:/O=Digital Signature Trust Co./CN=DST Root CA X3
---
略
エラーの場合、例えば中間証明書が入ってなかったりすると
略
depth=0 CN = hogehoge.com
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0 CN = hogehoge.com
verify error:num=21:unable to verify the first certificate
verify return:1
---
Certificate chain
0 s:/CN=hogehoge.com
i:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
---
略
これで、Gmailで独自ドメインのメールを設定する時にエラーで跳ねられないはず。。。
あとこれだとせっかくVirtualmin使ってるのにドメイン1つしか設定できないのはちょっとね〜。
Postfix3.7からSNI設定できるようなので(Dovecotもできるようです)、複数ドメインのPostfix,DovecotのSSL設定ができると嬉しいかも。