2020年4月12日日曜日

Gmailで他のメールアドレスを差出人として設定していたが、突然送信エラーになる

という現象がここ最近起こっているようで、Gmailヘルプコミュニティで多数の質問が寄せられています。
によれば

--
メールの配信エラー
[名前] の機能を使用して、別のアドレスまたは別のエイリアスからこのメールを送信しようとしています。[名前] のアカウントの設定に誤りがあるか、設定が最新の状態ではありません。設定を確認して、もう一度送信してみてください。

応答:TLS Negotiation failed, the certificate doesn't match the host.
--

のようなエラーになるとか。

追加情報(2020-04-17)



にいつの間にか<「サーバーにアクセスできませんでした」、「TLS ネゴシエーションに失敗しました」といったエラーが表示される>という項目が追加されていました。これがこの件のようですね。


対処方法


独自ドメインを使っている場合で、SMTPサーバーに独自ドメインをいれている場合には、独自ドメインではないSMTPサーバーの設定がないか調べてみる、問い合わせてみるのがよいと思います。さくらインターネットの場合には初期ドメインに変更すると直るようです。

さくらインターネット

を参考に独自ドメインを使っている場合には、送信サーバーの設定を「初期ドメイン」のもに変更してみてください。

GMO CLOUD/iCLUSTA+ byGMO


に従って、設定変更をする。つまりはこのメンテナンスが出るまでは対処方法がなかったということになりますね。


その他


ヘッダー全体からメールの経路を確認する(Gmail ヘルプ)

を参考に送信経路(端末、送信側のメールサーバー、(途中経由のメールサーバー)、受信側のメールサーバー)をチェックし、送信側のメールサーバーを推測する手もあります。推測になるのでわかるかどうかはわかりません。OCNの場合には

https://support.google.com/mail/thread/17302124?msgid=39801707

において、
--
1)受信メールの「メッセージのソースを表示」
ソースの中の下記の部分を確認する。
Received: from cxxxxxx.mxxxm.net (cxxxxxx.mxxxm.net. [000.000.000.000])

2) cxxxxxx.mxxxm.net がドメインを登録しているサーバーのドメインです。
このドメインをGmailのSMTPの設定に入力する
--
という情報もあるので、そうしたものを参考にするのもいいですが、素直にサポートに聞いたほうが早いかなとも思います。

また、末尾に説明した(サーバー証明書のドメインと設定した送信サーバが異なるかどうかの確認) openssl コマンドによる証明書のCNチェックも確認してみてはと思います。

サーバー証明書の検証が入った?


たとえば、

hostname was not match with the server certificate

のエラーについては、SMTPサーバーのサーバー証明書のドメインと SMTPサーバーのドメインが一致してない場合に起こります。これは独自ドメインで起こりがちです
  • SMTP サーバー:smtp.example.com
  • SMTPサーバー証明書のドメイン:example.com
  • 独自ドメイン:****.com
のとき、もし SMTPサーバーと、独自ドメインがともに同じIPアドレスに設定されていた場合、サーバー証明書の検証がなければ、SMTPサーバーは、独自ドメインでもOKです。しかし検証がはいると、SMTPサーバ証明書のドメインを指定しなければエラーになります。これは証明書次第になってくるので、エラーにならない場合もあります。

たとえばさくらインターネットの場合
に送信サーバーの設定については
==
設定するメールアドレスのドメイン名※1  ※2
または
標準のメールアドレスを利用できるドメイン名※1  ※2

※2メールソフトにより、『送受信サーバの設定が初期ドメインではない場合』
セキュリティ例外の追加に関する警告等が表示される可能性がございます。
==
と書かれています。つまりSMTPサーバー(送信サーバー)は、独自ドメインを指定できるけれど、初期ドメインでなければ警告がでる場合があるよと書かれています。これがサーバー検証されていたら警告でるよってことの意味になりますね。

もしかしたら、2020年4月2日の
あたりが関係するかもしれませんが、詳細は不明ですね。

サーバー証明書のドメインと設定した送信サーバが異なるかどうかの確認


もしコマンドで openssl が使えるのであれば
  • openssl s_client -connect  送信サーバ:ポート番号 -starttls smtp
というコマンドを叩いてみてください。そして CN の値をチェックしてみてください。

さくらインターネットのサーバーで独自ドメインを追加している場合の例


  • openssl s_client -connect  送信サーバ(独自ドメイン):ポート番号 -starttls smtp
をすると、
  • CN = *.sakura.ne.jp
が出てきます(あくまで1つの独自ドメインを試した例)。
この場合、送信サーバ(独自ドメイン)は、サーバー小遺書のドメイン「*.sakura.ne.jp」 と一致しません
これは、「サーバー証明書のドメインと設定した送信サーバが異なる」状況になります。
そうした場合に、どうやらGmail側が、「TLS Negotiation failed, the certificate doesn't match the host.」というエラーを出して送信できなくなっている事例が多数出てきているという感じに見えますね。

2020年4月12日 @kimipooh

0 件のコメント:

コメントを投稿