プロバイダがOP25Bを導入していると、プロバイダのネットワークを経由して、 プロバイダのネットワークの外にあるメールサーバーへ直接メーラーでメールを送信できない。
OP25BはプロバイダがSMTPの25番ポートをブロックするだけなので、 プロバイダのネットワーク外のメールサーバーからPOP(110番ポート) やIMAP(143番ポート)などでメールを閲覧することはできるだろう。
プロバイダがOP25Bを導入しているかどうかは、 実際にSMTPのポート(25番ポート)に接続してみればわかる。 このときメールサーバの25番ポートに接続できる環境と OP25Bで接続できない(と思われる)環境で実施する。 そうしないとメールサーバへ接続できない要因がOP25Bのためかわからないからだ。
できれば、ISPのメールサーバ(通常はISPのネットワークからなら25番ポートで接続できるはず) とISPのネットワーク外のメールサーバーで試すのが良いと思う。
今回はISPのメールサーバがわからなかったので、 自分でインターネット上に建てたメールサーバに接続して試してみた。 メールサーバの25番ポートに接続できる環境としては、 同じくインターネット上にある別のサーバから接続を試みる。 OP25Bでブロックされると思われる環境として、 自宅のPC(ISP経由)とノートPCからdocomoWiFi経由で接続してみる。 試すにあたりファイヤーウォールでTCP25番ポートの通信がブロックされないように注意する。
なお記事にする上で、この後の例では実際のドメイン名はexample.comに変更させていただいている。 その点はご容赦いただきたい。
まずは、メールサーバーのホスト名をnslookupで確認する。 下記を実行するとDNSに登録されているMXレコードから、 メールサーバのホスト名(とIPアドレス)がわかる。
# nslookup -type=mx example.com
nslookupでメールサーバーのホスト名がmail.example.comとわかったとしよう。 それでは実際に25番ポートにTelnetで接続してみる。 それには以下のコマンドを実行する。 次の結果はインターネット上の別のサーバから実行したものである。
# telnet mail.example.com 25 Trying XXX.xxx.XXX.XXX... Connected to mail.example.com. Escape character is '^]'. 220 mail.example.com ESMTP Postfix
正しく接続されば「220 mail.example.com ESMTP Postfix」のように、 応答コード220でメールサーバのグリーティングメッセージが表示される。 メールサーバは25番ポートで正常に接続できることが確認できた。
次はは自宅PC(ISP経由)とノートPC(docomoWiFi経由)で接続してみる。
# telnet mail.example.com 25 Trying XXX.XXX.XXX.XXX... telnet: connect to address XXX.XXX.XXX.XXX: Operation timed out telnet: Unable to connect to remote host
メールサーバへの接続がブロックされていればこのように接続はタイムアウトする。 この結果からOP25Bが導入されていると推測できる。