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
コマンドを送信するとエラーが発生して切断してしまいます。
エラー原因の詳細は以下の記事が詳しいです。
ターミナルでOpenSSL接続中、標準入力の最初の文字が"R"の場合、TLSの再ネゴシエーションとして解釈してしまうようです。
RCPT TO
の R
の文字が原因だそうです。なんざそら。
-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エラーの記事を読みたい
どちらかというとこちらが本題です。
エラー内容でググると、記事がヒットするわけです。
一番上の記事は、検索クエリの「routines SSL_renegotiate:wrong」という文字列が全て含まれていて、記事のタイトルにも[解決]と書いてあるので、この記事を読めば解決しそうです。
しかし、500 Internal Server Error
で見れない!
で、数十年インターネットしてて初めて知ったんですが、検索結果に出てきた記事をキャッシュで読む機能があるんですね。
画像の矢印マークをクリックしたら「キャッシュ」というのが出てくるので、それをクリックすると記事が読めました。