考えているとついウトウトしてきました。眠ってしまいそうになったとき、物音で目を覚まします。起きると目の前にメモが置いてあります。
「メールが壊れているんじゃないですか?」
そうか、メールが壊れているから受信に失敗するのか。でも、壊れたメールを何とかするには、どうすればいいのでしょう。
……そうか、telnetを使えばいいのか。
コマンドラインからtelnetを起動してPOPサーバにアクセスしてみます。POP3サーバのポートは110です。
部長のマシンからtelnetでPOPサーバにアクセスした結果
C:\>telnet pop.example.co.jp 110 +OK <13865.1105943787@example.co.jp> USER buchou@example.co.jp +OK PASS shachousan +OK LIST +OK scan listing follows 1 9200 2 2896 3 11887 (中略) 123 5125 . QUIT +OK
確かにメールはたまっているようですので、律子さんはともかく試しに1つ受信してみました。
1通目のメールを受信してみる
RETR 1 (略)
1通目のメールは受信できました。
確か4つ目のメールまでは受信できているはずなので、5つ目のメールが壊れているに違いありません。取りあえずヘッダだけを受信してみることにしてみます。
5つ目のメールヘッダ
TOP 5 0 +OK Message follows Return-Path: <marian@100inchbigscreentv.com> Received: from localhost by ms34 with LMTP for <tounai@sc5.so-net.ne.jp>; Mon, 17 Jan 2005 13:37:23 +0900 Received: from eforward2.name-services.com (eforward2.name-services.com [216.52.184.242]) by mx12.ms.so-net.ne.jp with ESMTP id j0H4bLHx027736 for <bucho@example.co.jp>; Mon, 17 Jan 2005 13:37:22 +0900 (JST) Received: from 218-168-83-150.dynamic.hinet.net ([218.168.83.150]) by eforward2. name-services.com with Microsoft SMTPSVC(5.0.2195.6747); Sun, 16 Jan 2005 20:31:07 -0800 Message-ID: <6f4b01c4fc4a$5f9eff35$8fc0ee6a@100inchbigscreentv.com> From: "Susan M. Taylor" <marian@100inchbigscreentv.com> To: soulsonicforce@eastinside.org Subject: Replica watch models Date: Mon, 17 Jan 2005 04:14:01 +0000 MIME-Version: 1.0 Content-Type: multipart/related; type="multipart/alternative"; boundary="----=_NextPart_000_0000_A49B7A08.077CBBA3" X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2600.0000 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 X-OriginalArrivalTime: 17 Jan 2005 04:31:08.0593 (UTC) FILETIME=[5D94CA10:01C4FC4D]
ヘッダは問題なく受信できました。あて先から見ると何となくSPAMのようですが、取りあえず受信してみることにします。
あやしい5通目のメールを受信してみる
RETR 5 (略)
5通目のメール受信の実行結果
Connection Closed
あれっ、やはり受信の途中で切断されます。どうやらメールが壊れていて、変なコードに文字化けしているようです。
次に再度接続して、次のメールを見てみることにします。
6通目のメールを確認
RETR 6 (略)
ちゃんと受信できました。やはりこの5番目のファイルが壊れているようです。しばらくすると部長が様子を見にやって来ましたので、消してもいいか確認して、壊れたメールを削除することにします。
問題の5通目のメールメッセージを削除
DELE 5 QUIT
終了して、もう一度メールクライアントを立ち上げて、受信すると今度はうまくいきました。これでひと安心です。
電子メールは通信の途中で変なコードが入ったり文字が抜けるなど、どんなメールでも壊れるという可能性は常に持ち合わせています。壊れていたときには文字化けしたり、添付ファイルが壊れるといったことだけでなく、文字が変なコードに化けて、送信を終了させたりすることもあります。
そのような場合はサーバからの受信が途中で止まってしまうのですが、こういう壊れたメールは削除する必要があります。しかし、普通のメーラーからは、受信前のメールファイルから、特定のメッセージだけを削除することはできないことが多いので、直接POPサーバにTelnetを使ってアクセスし、メールの様子をチェックしたり、壊れたメールを削除するということになります。
Telnetはリモートアクセスに使うだけでなく、HTTPやPOP、SMTPなどさまざまなテキストベースのプロトコルにアクセスできますので便利なことに使えます。覚えておくといいでしょう。(著者)
この連載は@IT Master of IP Networkフォーラムの会議室のやりとりを参考にしています。
Copyright © ITmedia, Inc. All Rights Reserved.