メール送信設定でよく使われる SMTPS AUTH(TCP 465)ですが、アプリやメールクライアントの設定だけでは、
- ネットワーク的に接続できているのか
- 認証情報が正しいのか
- SSL/TLSでの通信が成立しているのか
といった切り分けが難しいことがあります。
本記事では、openssl コマンドを使って SMPTS AUTH(TCP 465)を直接確認する方法を、
初心者の方にもわかるように 手順付き・実行例付きで解説します。
SMTPS AUTH(TCP 465)とは
SMTPS AUTH とは、SSL/TLS で暗号化された SMTP 通信上で ユーザー認証(AUTH)を行う仕組みです。
| 項目 | 内容 |
|---|---|
| プロトコル | SMTP over SSL/TLS |
| ポート番号 | TCP 465 |
| 暗号化 | 接続開始時からSSL/TLS |
| 認証 | SMTP AUTH(LOGIN / PLAIN など) |
※ TCP 587(STARTTLS)との違いで混乱しやすいため、465は「最初から暗号化される」点を押さえておきましょう。
コマンドで動作確認するメリット
GUIやアプリ設定だけに頼らず、コマンドで確認するメリットは以下の通りです。
- ネットワーク疎通(FW・NW)の切り分けができる
- SSL証明書エラーの有無を直接確認できる
- SMTP AUTH が通るかを明確に判断できる
- アプリ側の問題か、SMTPサーバ側の問題かを切り分け可能
運用・障害対応では非常に重要な確認方法です。
事前に確認しておくポイント
事前に以下を把握しておきましょう。
- SMTPサーバのホスト名(例:smtp.example.com)
- ポート番号:465
- 認証ユーザー名
- 認証パスワード
openssl を使った SMTPS(465)接続確認
基本コマンドは以下になります。
# openssl s_client -connect mail.dassyi.com:465
確認ポイント
CONNECTEDと表示される220のSMTP応答が返る- TLSのバージョンが表示される
ここまで表示されれば、TCP 465 + SSL/TLS 接続は正常です。
SMTP AUTH(認証)の確認手順
接続後、以下を入力します。
EHLO コマンド
EHLO hogehoge.dassyi.com
応答例AUTH LOGIN や AUTH PLAIN が表示されていれば、
SMTP AUTH が有効であることが分かります。
AUTH LOGIN での認証確認
AUTH LOGIN
a2xxxxxxxxxxxxMQ==
Uzxxxxxxxxxxxxxx1
235 Authentication successfulが出ればOK
ここで、AUTH LOGINの後の文字列は、base64でエンコードされたユーザ名で、
$ echo -n “ユーザ名” | base64
a2xxxxxxxxxxxxMQ==
のコマンドで確認ができます。その次の文字列は、base64でエンコードされたパスワードで、
$ echo -n “パスワード” | base64
Uzxxxxxxxxxxxxxx1
のコマンドで確認ができます。これらは事前に準備してメモしておきましょう。
その後は、次のように入力して、実際にメールが届くか確認をします。
mail from: user@dassyi.com
250 2.1.0 Ok
rcpt to: hogehoge@gmail.com
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
from: user@dassyi.com
to: hogehoge@gmail.com
subject: test mail from mailserver
test mail from mailserver.
.
QUIT
実行結果の見方とよくあるエラー
よくあるエラー例
| エラー | 原因 |
|---|---|
| Connection refused | ポート閉塞、FW設定 |
| handshake failure | TLSバージョン不一致 |
| 535 Authentication failed | ユーザー名/パスワード誤り |
トラブルシューティング例
アプリでは送信できないがコマンドは成功
→ アプリ設定ミスの可能性が高い
openssl で接続できない
→ ネットワーク/FW/ポート465を確認
AUTH が表示されない
→ SMTP AUTH 無効 or EHLO 未実行
メール送信のトラブル時は、まずコマンドで SMTP サーバの状態を確認することで、切り分けができるようになります。ぜひ覚えておいてください。
今回はここまでです。最後までお読み頂きありがとうございました。