Gmailから他のSMTPサーバー経由でメールを送信使用とするとエラーが出るようになった。
原因はGmailのセキュリティ強化らしく、SMTPサーバーの証明書が本物でなければならなくなったらしい。
証明書を買うのも芸が無いので、Let’s Encryptを使って対応することにした。
Plesk17以降ならPleskの管理画面でメール送信用の証明書をセットできるのだけど、Plesk12では手動でやる必要があるのでsshでログインして作業。
qmailの設定
1.OpelSSL で /usr/local/psa/admin/conf/httpsd.pem の内容を確認
# openssl x509 –text –noout –in /usr/local/psa/admin/conf/httsd.pem
Issuer: C=US, O=Let's Encrypt, CN=Let's Encrypt Authority X3
Validity
Not Before: Feb 22 21:48:14 2020 GMT
Not After : May 22 21:48:14 2020 GMT <-日付もexpireしていないか確認
2. 既存の証明書のバックアップを取っておく
3. httpsd.pem を /var/qmail/control/ にコピー
# cp /usr/local/psa/admin/conf/httpsd.pem /var/qmail/control/servercert.pem
※clientcert.pemにservercert.pemというリンクが張られているので特にconfファイルなどを編集する必要はない
4 .permissionとオーナーを変更
# chmod 400 servercert.pem # chown qmaild:qmail servercert.pem
パーミッションとオーナーの設定を正しく行っておかないと smtp 502 unimplemented (#5.5.1) エラーが出たりするる。
こういうマイナーなエラーは原因見つけるのが難しいので特に注意が必要。
5.qmailを再起動
courier-imap/pop3dの設定
1. /etc/courier-imap/ディレクトリ以下にあるipamd-ssl, pop3d-sslに書かれている証明書の場所とファイル名を確認
TLS_CERTFILE=/usr/share/pop3d.pem
TLS_CERTFILE=/usr/share/imapd.pem
2. qmailの時と同様、/usr/local/psa/admin/conf/httpsd.pemをコピー
# cp /usr/local/psa/admin/conf/httpsd.pem /usr/share/pop3d.pem (もしくは ipamd.pem)
courier-imap/pop3dは再起動の必要なし