技術解説 · 出典付きの回答

SMTPのポート番号は?25・465・587の使い分けガイド

SMTPは、サーバー間のリレーにはポート25を、STARTTLSによるメールのサブミッションにはポート587を、暗黙的TLSにはポート465を使います。正しいポートは、クライアントからサーバーへメールを送信するのか、2つのメールサーバー間でメールを転送するのかによって決まります。

リレー用のポート25

ポート25は、SMTPの本来の標準ポートです。主にメール転送エージェント(MTA)間でメッセージをリレーするために使われます。家庭向けのインターネットサービスプロバイダー(ISP)やクラウドプロバイダーのほとんどは、乗っ取られたデバイスからの迷惑メールを防ぐため、ポート25の送信トラフィックをブロックしています。開発者はクライアントからのサブミッションにポート25を使わず、サーバー間の通信用に限定すべきです。

サブミッション用のポート587

ポート587は、メールのサブミッションにおける現在の標準です。メールクライアントがサブミッションサーバーにメッセージを送信するために使います。このポートでは通常STARTTLSが使われ、暗号化されていない接続として始まり、安全なTLS接続にアップグレードします。アプリケーションとの連携や外部のSMTPサービスに推奨されるポートです。

暗黙的TLS用のポート465

ポート465は元々SMTPS用に指定されていました。一時は非推奨とされましたが、最初のパケットから接続が暗号化される暗黙的TLS用として、今も広く使われています。多くのレガシーシステムや特定のプロバイダーは安全な送信にポート465を今も必要としていますが、新規の実装では一般にポート587が推奨されます。

適切なポートの選び方

正しいポートを選ぶには、メールの流れの中での自分の役割を確認します。他のサーバーからメールを受信するサーバーを設定する場合は、ポート25を使います。APIやSMTPリレーを使ってメールを送信するコードを書く場合は、ポート587を使います。SendHQの無料ツールを使ってDNSと認証の設定を確認すれば、どのポートを使ってもメールが受け付けられるようにできます。

接続の問題のトラブルシューティング

ポート25での接続タイムアウトは、通常ISPによるブロックを示しています。ポート587で接続できない場合は、クライアントがSTARTTLSをサポートしていること、そしてファイアウォールがそのポートでの送信トラフィックを許可していることを確認してください。有効なSMTP AUTHがないとサブミッションポートへの接続を拒否するサーバーが多いため、認証情報が正しいことも必ず確認してください。

よく寄せられる質問

ポート25は安全ですか?

ポート25はデフォルトでは安全ではありません。STARTTLSを使うこともできますが、迷惑メールを防ぐためにISPによってブロックされていることが多く、クライアントからのサブミッションには推奨されません。

465と587の違いは何ですか?

ポート465は暗黙的TLSを使い、接続はすぐに暗号化されます。ポート587は、STARTTLSコマンドで平文の接続をアップグレードする明示的TLSを使います。

SMTP接続がタイムアウトするのはなぜですか?

タイムアウトは、ファイアウォールのルールやISPによるポート25のブロックが原因であることがよくあります。ポート587に切り替えると、開発者が直面するこうした接続の問題はたいてい解決します。

一次情報源