May 04, 2007
某 ISP のメールが受信出来なくなる件
元来国際通信に長けている某大手電気通信事業者が運営している、某個人向け ISP に加入しています。
昨年個人情報流出事件があり、それ以来、何故か SPAM 等の迷惑メールが大量に増えました。
※ ISP 発表によると調査した結果メールアドレスは流出していないので、因果関係は不明。
迷惑メールなんて、会社のメールを含めれば一日 1,000 通以上は受信しているので、個人的には割とどうでもいいんですが、その某 ISP が迷惑メール対策をしてくれているのかどうか、一日に 3 〜 5 通程度、本文の無いメール、厳密に言うと、ヘッダが終わって直後に本文とのデリミタ行 (空行) が無く、ドットのみの行が来るメールが届いてます。
自力で SMTP を喋って中身を見てみると、
これは実際に届いていたメールの一部 (ところどころ伏せ字にしてある) だが、決まって Subject ヘッダ (件名) とか From ヘッダ (送信者) が存在しない。
そして、かなり簡素。
Received ヘッダとかが異様に少ない。
最後のドットのみの行は、RFC 2821 の section 4.1.1.4 に書かれている
つまり、メッセージの終端を表現する行。
で、ヘッダと本文のデリミタ行 (空行) が無く、すぐにメッセージの終端 (ドットのみの行) をむかえるメールを、個人的にいつも利用している MUA "Becky! Internet Mail" で受信すると、こんな風になってしまい、受信出来なくなってしまう。

個人的にまず使うことはないが、多くの人が使っているであろう MUA "Outlook Express" とかで受信しても、こんな風になってしまって、同様に受信が出来ない。

で、自分の場合も結局数日間 (あるいは数週間) 後に、これが原因で全然受信出来なくなっているという状態に気付いて、以前は慌てて Becky! についている "リモートメールボックス" の機能を使い、それと思しきメール (Subject が "(no subject)" になっていて、From が無いメール) を削除してから受信を行ないます。
別にこの ISP が悪いとは言いません。流出した情報にメールアドレスは含まれなかったそうですし。
もしかしたら MUA 自体が悪い (本文が無いメールを想定していない設計) という見方も出来ます。
でも、どうしてこういうメールが普通に届いてしまっている状態を ISP が放置しているのかは個人的には理解出来ません。
ちなみに、こうなってしまうことについて、ISP の web サイトの FAQ ページにある、「メールの受信ができないのですが。」という質問を見ても、それに対しての回答は、この状況については全く想定していない、このケースにあてはめて見てしまうと完全にピントのズレた回答。
同じ ISP で、「突如メールが受信出来なくなった」と、個人 Blog 等に書かれている方もかなり多く見受けられますが、実際に ISP のカスタマーサポートに連絡した結果、「一度アカウントの再設定をして下さい」と、的はずれな回答をされた後、やはりダメでもう一度問い合わせると「サーバーにあるメール自体が壊れていてそれが原因かもしれないので、web 上のカスタマーサイトで web メールに入り、一旦全てのメールを削除しては」(某 Blog より編集して引用) と回答されるそうな。
つまりは、その ISP はこの事象の原因を正確には把握していないと思われます。
しかし、自分のように、意図的に全てのメールを削除しないようにしているユーザもいれば、そうでなくとも、まだ受信していないメールも大量に残っているユーザもいるだろうに、そんなの構わずそこで削除するように指示するなんてかなり乱暴だなと感じました。
どうして 11 ヶ月近くこういう状態がずっと続いているのに、調査出来る能力を持った人がちゃんと調査して解決しようとしないのでしょうか。。
恐らく、もう数ヶ月もメールが受信出来なくなってしまっている状態で、意味がわからず、完全に諦めている人もいるんだろうなと思います。
この ISP はそろそろ解約しようと思うので、置き土産なんぞをと思います。
個人的には、こんなスクリプトを数分おきとか定期的に動かし、MUA で受信出来なくなってしまうメールを削除するようにして回避しています。
同じような状況に悩まされていて、Perl が使えて、Net::POP3 を入れられるという環境をお持ちのかたは、どうぞお試しください。
昨年個人情報流出事件があり、それ以来、何故か SPAM 等の迷惑メールが大量に増えました。
※ ISP 発表によると調査した結果メールアドレスは流出していないので、因果関係は不明。
迷惑メールなんて、会社のメールを含めれば一日 1,000 通以上は受信しているので、個人的には割とどうでもいいんですが、その某 ISP が迷惑メール対策をしてくれているのかどうか、一日に 3 〜 5 通程度、本文の無いメール、厳密に言うと、ヘッダが終わって直後に本文とのデリミタ行 (空行) が無く、ドットのみの行が来るメールが届いてます。
自力で SMTP を喋って中身を見てみると、
Return-Path: <itukamiwo@example.co.jp>
Received: from example.com ([220.96.28.15x])
by nm06mta.example.ne.jp
id <20070504034111321.MAC0.81C37A8@nm06mta.example.ne.jp>;
Fri, 4 May 2007 03:41:11 +0900
Message-ID: <200705031841113518590006MAC0@nm06mta.example.ne.jp>
Date: Fri, 4 May 2007 03:41:11 +0900
.
こんなかんじ。これは実際に届いていたメールの一部 (ところどころ伏せ字にしてある) だが、決まって Subject ヘッダ (件名) とか From ヘッダ (送信者) が存在しない。
そして、かなり簡素。
Received ヘッダとかが異様に少ない。
最後のドットのみの行は、RFC 2821 の section 4.1.1.4 に書かれている
The mail data is terminated by a line containing only a period, that is, the character sequence "<CRLF>.<CRLF>" (see section 4.5.2). This is the end of mail data indication.あたりに書かれているもの。
つまり、メッセージの終端を表現する行。
で、ヘッダと本文のデリミタ行 (空行) が無く、すぐにメッセージの終端 (ドットのみの行) をむかえるメールを、個人的にいつも利用している MUA "Becky! Internet Mail" で受信すると、こんな風になってしまい、受信出来なくなってしまう。
個人的にまず使うことはないが、多くの人が使っているであろう MUA "Outlook Express" とかで受信しても、こんな風になってしまって、同様に受信が出来ない。

で、自分の場合も結局数日間 (あるいは数週間) 後に、これが原因で全然受信出来なくなっているという状態に気付いて、以前は慌てて Becky! についている "リモートメールボックス" の機能を使い、それと思しきメール (Subject が "(no subject)" になっていて、From が無いメール) を削除してから受信を行ないます。
別にこの ISP が悪いとは言いません。流出した情報にメールアドレスは含まれなかったそうですし。
もしかしたら MUA 自体が悪い (本文が無いメールを想定していない設計) という見方も出来ます。
でも、どうしてこういうメールが普通に届いてしまっている状態を ISP が放置しているのかは個人的には理解出来ません。
ちなみに、こうなってしまうことについて、ISP の web サイトの FAQ ページにある、「メールの受信ができないのですが。」という質問を見ても、それに対しての回答は、この状況については全く想定していない、このケースにあてはめて見てしまうと完全にピントのズレた回答。
同じ ISP で、「突如メールが受信出来なくなった」と、個人 Blog 等に書かれている方もかなり多く見受けられますが、実際に ISP のカスタマーサポートに連絡した結果、「一度アカウントの再設定をして下さい」と、的はずれな回答をされた後、やはりダメでもう一度問い合わせると「サーバーにあるメール自体が壊れていてそれが原因かもしれないので、web 上のカスタマーサイトで web メールに入り、一旦全てのメールを削除しては」(某 Blog より編集して引用) と回答されるそうな。
つまりは、その ISP はこの事象の原因を正確には把握していないと思われます。
しかし、自分のように、意図的に全てのメールを削除しないようにしているユーザもいれば、そうでなくとも、まだ受信していないメールも大量に残っているユーザもいるだろうに、そんなの構わずそこで削除するように指示するなんてかなり乱暴だなと感じました。
どうして 11 ヶ月近くこういう状態がずっと続いているのに、調査出来る能力を持った人がちゃんと調査して解決しようとしないのでしょうか。。
恐らく、もう数ヶ月もメールが受信出来なくなってしまっている状態で、意味がわからず、完全に諦めている人もいるんだろうなと思います。
この ISP はそろそろ解約しようと思うので、置き土産なんぞをと思います。
個人的には、こんなスクリプトを数分おきとか定期的に動かし、MUA で受信出来なくなってしまうメールを削除するようにして回避しています。
同じような状況に悩まされていて、Perl が使えて、Net::POP3 を入れられるという環境をお持ちのかたは、どうぞお試しください。
#!/usr/local/bin/perl
use strict;
use Net::POP3;
use constant POP3_HOSTNAME => 'pop.k5.example.ne.jp';
use constant POP3_USERNAME => 'a123456789';
use constant POP3_PASSWORD => 'pAssWorD';
my $pop = Net::POP3->new(POP3_HOSTNAME, Timeout => 10);
exit unless $pop->login(POP3_USERNAME, POP3_PASSWORD) > 0;
my $stored = $pop->list;
for my $num (sort { $b <=> $a } keys %$stored) {
my $msg = $pop->top($num, 0);
my $has_delimiter = 0;
for my $line (@$msg) {
next if $line =~ /[^\r\n]/;
$has_delimiter = 1;
last;
}
$pop->delete($num) unless $has_delimiter;
}
$pop->quit;