父: いやあ、いらないメールがいっぱい来て困るよ。 子(6歳男): だした人にいらないっていえば? 父: 出した人も知らないんだよね(以下、ウィルスについて説明) 子: じゃあどうするの? 父: 要らないメールだけ捨ててしまうプログラムを使ったんだ。 父: でも、これもまだ面倒で。自分でわざわざ捨てないといけないから 子: だったら、自動的に届かないようにできないの。 父: できるよ。今日、そうしようと思ってたんだ。
というわけで、フィルタを用意。 基本的にはsobig_killer.rbを削っただけなのでお手軽簡単。
#!/usr/bin/ruby
SOBIG_SUBJECTS = <<END.split("\n")
Thank you!
Re: Thank you!
Re: Details
Re: Re: My details
Your details
Re: Wicked screensaver
Re: That movie
Re: Your application
Your details
Re: Approved
END
SOBIG_SUBJECTS_R = Regexp.new('^(' + SOBIG_SUBJECTS.join('|') + ')$')
header = STDIN.gets("\n\n")
size = STDIN.read.size + header.size
exit 1 unless header =~ /Subject: (.*)\n/
subject = $1
if subject =~ /RAV AntiVirus scan results/
  exit 0
end
if (310000 < size  || size < 100000) and 
    not header =~ /^Content-type:\s*multipart\/mixed/i
  exit 1
end
if SOBIG_SUBJECTS_R =~ subject
  exit 0
end
exit 1
あとは、.procmailrcに以下のルールを追加する。
0HB: * ? /usr/bin/ruby /home/matz/sobig_filter.rb sobig
勇気があれば(?)、「sobig」の部分は「/dev/null」でも良い。 実際には私はそうしている。これで迷惑なメールを見ないですむ。
子は親の鏡故、お子さんがアレゲに育つのも時間の問題かもしれません...