ベスパリブ

プログラミングを主とした日記・備忘録です。ベスパ持ってないです。

OpenSSLでメール送信するときのRCPT TOコマンドでのエラーと、記事をキャッシュで読む方法

OpenSSLを使って以下のようにメールを送信しようとしたとき、

> openssl s_client -connect smtp.mail.yahoo.co.jp:465
CONNECTED(000001C0)
...()
read R BLOCK
220 smtpgate606.mail.ssk.ynwp.yahoo.co.jp ESMTP ready
EHLO localhost
250-smtpgate606.mail.ssk.ynwp.yahoo.co.jp
250-PIPELINING
250-8BITMIME
250-SIZE 20480000
250 AUTH PLAIN LOGIN XYMYCONNECT
AUTH PLAIN
334
dGFrZxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxE=
235 ok, go ahead (#2.0.0)
MAIL FROM:<xxxxxxxxxxxxxxxxx@yahoo.co.jp>
250 ok
RCPT TO:<yyyyyyyyyy@yahoo.co.jp>
RENEGOTIATING
5428:error:1420410A:SSL routines:SSL_renegotiate:wrong ssl version:ssl\ssl_lib.c:2127:

というふうに、RCPT TOコマンドを送信するとエラーが発生して切断してしまいます。

エラー原因の詳細は以下の記事が詳しいです。

[Postfix] [OpenSSL] [解決] RENEGOTIATING SSL routines:SSL_renegotiate:wrong ssl version:ssl/ssl_lib.c - noknow

ターミナルでOpenSSL接続中、標準入力の最初の文字が"R"の場合、TLSの再ネゴシエーションとして解釈してしまうようです。

RCPT TOR の文字が原因だそうです。なんざそら。

-quietオプションをつけると解決します。

以下のように正常に動作しました。

> openssl s_client -connect smtp.mail.yahoo.co.jp:465 -quiet
depth=2 C = JP, O = "SECOM Trust Systems CO.,LTD.", OU = Security Communication RootCA2
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=1 C = JP, O = "Cybertrust Japan Co., Ltd.", CN = Cybertrust Japan SureServer CA G4
verify return:1
depth=0 C = JP, ST = Tokyo, L = Chiyoda-ku, O = Yahoo Japan Corporation, CN = smtp.mail.yahoo.co.jp
verify return:1
220 smtpgate607.mail.ssk.ynwp.yahoo.co.jp ESMTP ready
EHLO localhost
250-smtpgate607.mail.ssk.ynwp.yahoo.co.jp
250-PIPELINING
250-8BITMIME
250-SIZE 20480000
250 AUTH PLAIN LOGIN XYMYCONNECT
AUTH PLAIN
334
dGFrZxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxE=
235 ok, go ahead (#2.0.0)
MAIL FROM:<xxxxxxxxxxx@yahoo.co.jp>
250 ok
RCPT TO:<yyyyyyyyyy@yahoo.co.jp>
250 ok
DATA
354 go ahead
Date: Mon, 28 Mar 2005 22:30+40 +0900
From: xxxxxxxxxxx <xxxxxxxxxxx@yahoo.co.jp>
To: yyyyyyyyyy@yahoo.co.jp
Subject: SMTP Test Mail
Message-Id: <20050328223040.1711.yyyyyyyyyy@yahoo.co.jp>
Hello.
This is test mail.
.
250 ok 1591260208 qp 95707
Quit
221 smtp6007.mail.ssk.ynwp.yahoo.co.jp

500エラーの記事を読みたい

どちらかというとこちらが本題です。

エラー内容でググると、記事がヒットするわけです。

f:id:takeg:20200604175454p:plain
検索結果

一番上の記事は、検索クエリの「routines SSL_renegotiate:wrong」という文字列が全て含まれていて、記事のタイトルにも[解決]と書いてあるので、この記事を読めば解決しそうです。

しかし、500 Internal Server Errorで見れない!

で、数十年インターネットしてて初めて知ったんですが、検索結果に出てきた記事をキャッシュで読む機能があるんですね。

f:id:takeg:20200604175753p:plain
キャッシュで読む

画像の矢印マークをクリックしたら「キャッシュ」というのが出てくるので、それをクリックすると記事が読めました。

参考