技術解説 · 出典付きの回答
ポート587とは?SMTPサブミッションポートの用途を解説
ポート587はSMTPのメッセージサブミッションに使われ、メールクライアントがメールサーバーに送信メールを送れるようにします。クライアントからサーバーへの通信の標準ポートであり、通常は認証と、接続を暗号化するためのSTARTTLSの使用が求められます。
ポート587の役割
ポート587は、SMTPのサブミッションポートとして指定されています。主にサーバー間のリレーに使われるポート25とは異なり、ポート587はエンドユーザーが自分のメールサーバーにメッセージを送信するためのものです。このように分けることで、クライアントはメッセージが最終的な宛先への配信のために受け付けられる前に認証を行う必要があり、迷惑メールの防止に役立ちます。
STARTTLSと暗号化
ポート587での接続は通常平文として始まり、STARTTLSコマンドを使って安全なTLS接続にアップグレードされます。この仕組みにより、転送中の認証情報とメッセージの内容が暗号化されます。これは、最初のバイトから接続が暗号化される暗黙的TLSとは異なります。暗黙的TLSはポート465に関連付けられた動作です。
ポート25や465との比較
ポート25は、メール転送エージェント(MTA)間でメールをリレーするために使われてきた従来のSMTPポートです。多くのISPは、ボットネットによる迷惑メールの送信を防ぐため、家庭向けやクラウドのIP範囲でポート25をブロックしています。ポート465は元々SMTPS用でしたが、現在はSTARTTLSを使うポート587が推奨され、非推奨とされています。ただし、暗黙的なSSL/TLS用として今もサポートしているプロバイダーは多くあります。
導入とトラブルシューティング
メールクライアントやアプリケーションを設定する際は、ポート587を選択し、TLSまたはSTARTTLSを有効にしてください。接続に失敗する場合は、ファイアウォールがこのポートでの送信トラフィックを許可しているかを確認します。開発者はSendHQの無料ツール(https://sendhq.cc/tools)を使ってDNSと認証のレコードを確認し、ポート587経由で送信したメールが迷惑メールと判定されないようにできます。
認証の要件
ポート587で待ち受けているサーバーのほとんどは、SMTP AUTHを必要とします。つまり、サーバーがメッセージをリレーのために受け付ける前に、クライアントは有効なユーザー名とパスワードを提示しなければなりません。この要件により、誰でもメールを送信できてしまうためスパマーの格好の標的となるオープンリレーを防げます。
よく寄せられる質問
ポート587は安全ですか?
はい、STARTTLSと組み合わせて使えば、ポート587はクライアントとサーバー間の通信を暗号化し、機密データを傍受から守ります。
ポート587と465のどちらを使うべきですか?
ポート587は、メールのサブミッションにおける現在のIANAの標準です。ポート465は暗黙的TLSに使われ、現在の標準的な構成ではあまり一般的ではありません。
ポート25はブロックされるのに587は開いているのはなぜですか?
ISPがポート25をブロックするのは、許可されていないメールサーバーやスパムボットが、ユーザーのネットワークからインターネットへ直接メールを送信するのを防ぐためです。
一次情報源
- サービス名およびトランスポートプロトコルのポート番号レジストリ — IANA
- RFC 3207:トランスポート層セキュリティ(TLS)上のセキュアなSMTPのためのサービス拡張 — RFC Editor
- RFC 8314:SMTP以外のメールプロトコルにおける平文通信の扱い — RFC Editor