telnetを使ってメール送信テストをする方法

※記事内に商品プロモーションを含む場合があります

メールはすべてGmailで受けています。

Gmailで独自ドメインを使用するにはGoogleAppsへの登録が必要だったり面倒。

そこで、自分のサーバで受けたメールを
Gmailに転送する事で擬似的に独自ドメイン化しています。

先週から、VPSの移行をしていて、メールサーバであるPostfixの再設定をしています。

そこで一番怖いのが不正リレー。

不正リレー(不正中継)とは
自分の管轄外のホストから来た自分の管轄外のメールを転送してしまう事。
他サイトから来た、他サイト宛のメールを転送してしまいます。

こういった設定をしているサーバは狙われ、いろんな攻撃の温床となり
最悪、損害賠償を請求される可能性も有ります。

そこで、メール送信テストをSSHの前身、telnetで行いました。

たくさん届くスパムメールfrom http://www.irasutoya.com/

telnetで行うメール送信/転送テスト

この方法でGメールに送信を行うとメールが送信されず、
メール送信エラーで送信元に帰って来ます。

エラー内容としては、
that this message is not RFC 2822 compliant
と書かれています。

テストを行うのはLinuxでもWindowsでもOKですが
条件があります。(下で書きます。)

CentOSでtelnetがインストールされてない場合
yum install telnetでインストール出来ます。

テスト方法

telnet (送信先) 25

この段階でつながらない場合はポートが塞がっているか
OP25Bに引っかかっているかもしれません。(下で書きます。)

繋がればこの様な文字列が表示されます。

220 (サーバ名) ESMTP Postfix

この順にコマンドを打って行きます。
HELO (ドメイン)
MAIL FROM:(送信元)
RCPT TO:(送信先)
DATA

.

QUIT

【参考】telnetでメール送信

不正リレーテストはRCPT TO:で出来ます。

自ドメインで存在するアドレスならこの様に表示されます。
250 2.1.5 Ok

試しの違うドメインのアドレスを打つと
454 4.7.1 <メールアドレス>: Relay access denied
と表示され中継されません。

次に自ドメインの存在しないメールアドレスを打つと
550 5.1.1 <メールアドレス>: Recipient address rejected: User unknown in local recipient table
と受け付けられません。

この下の2つでリレーされないならメールサーバでの不正中継対策がOKだと思います。

OP25Bの影響でテスト出来る環境は限られる

私も自宅サーバ&パソコンで試しましたがダメで
いろいろ調べた結果、OP25Bに行き当たりました。

多くのプロバイダではメールを不正に送信されない様に
OP25B(Outbound Port25 Blocking)というプロバイダ内部から、
外部へ向けたポート25番を使用した通信を遮断する仕組みがあります。

OP25B(Outbound Port25 Blocking)は動的IPで導入されておいて
多くの方が動的IPでインターネットをしていると思います。

よって自宅のプロバイダネットワークではダメなので、
旧VPSから新VPSにメールを送信してテストしました。