5月に入り突然メールの送信エラーが出るようになりました。
メールの配信エラー[名前] の機能を使用して、別のアドレスまたは別のエイリアスからこのメールを送信しようとしています。[名前] のアカウントの設定に誤りがあるか、設定が最新の状態ではありません。設定を確認して、もう一度送信してみてください。 応答:TLS Negotiation failed, the certificate doesn't match the host.

4/2に英語版で「デフォルトの TLS およびその他の新機能を使って Gmail のメール セキュリティを強化する」ということが起こったそうです。
Chrome OS 上の Chrome ブラウザで確認された全トラフィックにおける Transport Layer Security(TLS)の使用率が 96% を超えるに至った流れのあらましが紹介されました。併せて、Google の重要な目標も示されました。それは、Google のプロダクトとサービスにおいて TLS をデフォルトで有効にすること、そして TLS が自動的に機能するように今後も取り組みを行っていくことです。
えーっと自分所のOSの使用状況調べたらTLSでの通信が大半だからみんなTLSデフォルトにしちゃおうよ。みたいな。きわめてアメリカ的発想。
これが日本ならTLS(例えばマイナンバーカード)持っていないことが不利益になることは人権上見過ごしできない。的な事を人権屋が騒ぎ立てそうです。
ところで、タダで使わさせてもらっている以上Googleさんについていかないといけません。この際メール通信のセキュリティも向上することですし。
原因 我が社はドメインネームがSSL化されてない
GmailをGmailのアドレスで使っていりかぎり問題はありません。但し、「名前」で「他のメール アドレスを追加」して暗号化されてないメールサーバで送信した場合に問題が発生します。
つまり我が社のサーバーもhttpsにしましょうよ。という事ですが、もちろん経営に拒否されました。理由は「今でも十分見れいてる」。時代の流れについていけない我が社。あぁorz。
DV OV EVとあって最低でもOVくらいは欲しいもの。実在する会社かどうか外部機関から信頼性を与えてくれるのに。検索順位とか採用活動で影響がないと言い切れる我が社。ISO9000シリーズは持ってるのに。
解決策1 送信メールサーバのポートを25番に
ないない。こんな策。セキュリティ低下させてどうする。今時25のポートが開いているサーバーなんてあるんだ。
googleから25番にアクセスされるという事は、世界中からWelcomeという事だぞ。
解決策2 openssl s_clientで証明書通りの正しいサーバーを設定する
これが正しい解決策です。opensslのクライアント機能でSSLでtelnetしてみて、そこに出てきた証明書通りのサーバーを求める方法です。
https://qiita.com/kenji0302/items/7d3a9b351d9bb9ea5967
実は前まで動いていた送信サーバーの名前は smtp.CompanyDomainName.cc でした。
$ openssl s_client -connect smtp.CompanyDomainName.cc:587 -starttls smtp
CONNECTED(00000004)
depth=2 OU = GlobalSign Root CA - R3, O = GlobalSign, CN = GlobalSign
verify return:1
depth=1 C = BE, O = GlobalSign nv-sa, CN = GlobalSign RSA DV SSL CA 2018
verify return:1
depth=0 CN = *.blue.shared-server.net
verify return:1
---
Certificate chain
0 s:CN = *.blue.shared-server.net
i:C = BE, O = GlobalSign nv-sa, CN = GlobalSign RSA DV SSL CA 2018
1 s:C = BE, O = GlobalSign nv-sa, CN = GlobalSign RSA DV SSL CA 2018
i:OU = GlobalSign Root CA - R3, O = GlobalSign, CN = GlobalSign
---
Server certificate
-----BEGIN CERTIFICATE-----
BgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMSYwJAYDVQQDEx1H
MIIF5jCCBM6gAwIBAgIMJSuDnCg27Yc0KABsMA0GCSqGSIb3DQEBCwUAMFAxCzAJ
bG9iYWxTaWduI・・・・・・・・・・・・・・ずらーっと
コマンドを実行してすぐ位に「CN = *.blue.shared-server.net」というコモンネームがあります。つまりGmailにとっては我が社のドメインネームは偽装しているだけの名前でニセモノとして拒否されたわけです。
ではとGmailの送信サーバーに「blue.shared-server.net」を設定しても未だエラーが出ます。shared-server.net はGMOグループのサーバーで、大量の仕事をこなしています。その為「blue.shared-server.net」というサーバーは無い模様です。
$ dig shared-server.net any
; <<>> DiG 9.14.3 <<>> shared-server.net any
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13965
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 911e0dc2fec1612d9e97b1bc5eb8f6cbece23f96daf12c52 (good)
;; QUESTION SECTION:
;shared-server.net. IN ANY
;; ANSWER SECTION:
shared-server.net. 14399 IN SOA ns.namedserver.net. root.namedserver.net. 2588244286 10800 1800 259200 1800
shared-server.net. 14399 IN MX 100 mx.red.shared-server.net.
shared-server.net. 14399 IN MX 100 mx.blue.shared-server.net.
shared-server.net. 21599 IN NS ns.namedserver.net.
shared-server.net. 21599 IN NS ns2.namedserver.net.
;; Query time: 56 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon May 11 07:55:07 a/T 2020
;; MSG SIZE rcvd: 246
$ nslookup mx.blue.shared-server.net
サーバー: UnKnown
Address: 127.0.0.1
権限のない回答:
名前: mx.blue.shared-server.net
Address: 211.13.204.14
$ nslookup mx.red.shared-server.net
サーバー: UnKnown
Address: 127.0.0.1
権限のない回答:
名前: mx.red.shared-server.net
Address: 211.13.204.4
$ nslookup blue.shared-server.net
サーバー: UnKnown
Address: 127.0.0.1
*** UnKnown が blue.shared-server.net を見つけられません: Non-existent domain
$ nslookup shared-server.net
サーバー: UnKnown
Address: 127.0.0.1
名前: shared-server.net
GMOさんはサーバーによってIPアドレスが変えてあります。ここにあるmxサーバーなのでメールの送信は受け付けていません。
解決策3 nslookup で本当のサーバーの名前を探す
smtp誠の名は?
うまく動いた時代の送信サーバーは「smtp.CompanyDomainName.cc」です。この事をキーワードに nslookup します。

$ nslookup smtp.CompanyDomainName.cc
サーバー: UnKnown
Address: 127.0.0.1
権限のない回答:
名前: smtp.CompanyDomainName.cc
Address: 211.13.204.15
では211.13.204.15を逆引き。
$ nslookup 211.13.204.15
サーバー: UnKnown
Address: 127.0.0.1
名前: mail.blue.shared-server.net
Address: 211.13.204.15
送信サーバーは「mail.blue.shared-server.net」で、gmailに設定して送信エラーは無くなりました。



