I’ve said it before:
Content-based spam filtering is a dead-end path. Here’s one big example from my mail this morning:

.,        ,; .R,
@FS      fUD jos
 DN      Gw,
 Fzw    OUn  hdx  DLdknFf:   qgOKPugU  aYkIda  @ygoaQr
  Dj    hN   Sam  xb    tJ. mBT.  fSV  zek    Nw;   @Hf
  dxd  Stk   ALQ    TZFwKw: qR     ol  HJb      EmpiiA@
   sb .Vz    XWw  chY:: Aw, ju     iA  GFk    aHs,c woi
   FsrQua    Gcc pW     kA  IBy   HFd  ZVx   Gsx    SME
    ziyA     riA  UNvhcHbgj  NZaBdunU  TYA    NsaQfMzrRB
              ,    ,:;U   :        Ae   ,       ,;w   .:
                            lze   yrP
                              IegDp.

Your spam filter isn’t going to catch the keyword “Viagra” there, is it? “But the filter knows that those aren’t words,” I hear you say. So here’s a trivial Perl program to translate all that input into names from a list:
open( my $fh, '/usr/share/dict/propernames' ) or die $!;
while (<$fh>) {
    chomp;
    push( @{$words{length($_)}}, $_ );
}

while (<DATA>) {
    s/(S+)/replace($1)/ge;
    print;
}

sub replace {
    my $list = $words{length $_[0]} or return $_[0];
    return $list->[rand @$list];
}

__DATA__
.,        ,; .r,
@ln      qly tlg
 nq      aq,
 Brg    iaB  WiW  iqpbduk:   ifcciWvj  Wypdip  @rnoqqS
  lc    st   unx  mm    su. Wyl.  eee  daa    jb;   @kS
  kjt  smp   WkW    8hytct: ih     xd  WiZ      Zlantc@
   tg .vk    WrW  cyW:: hy, vx     bo  WnW    gtx,i 0rW
   SnjsaS    WbW gw     oo  kkZ   rto  WeW   fvB    0qZ
    xbcd     ocg  tfrotxynk  veqWhurb  kdy    wavkuseax0
              ,    ,:;i   :        yr   ,       ,;i   .:
                            Zjc   ugr
                              btfau.

which gives back (for one run)
Ed        Al Roy
Amy      Tom Jim
 Ji      Len
 Spy    Lin  Alf  Roderick   Srinivas  Rajeev  Juliane
  Hy    Ti   Tao  Ed    Amy Renu  Fay  Bud    Tom   Jef
  Tim  Kyu   Mat    Nicolas No     No  Hsi      Shannon
   Al Ami    Tai  Judge Hal Al     Hy  Fay    Piete Hsi
   Gregge    Suu Al     Al  Ken   Art  Moe   Lar    Mwa
    Vern     Vic  Stephanie  Teruyuki  Rod    Cristopher
              ,    King   :        Ji   ,       Les   Hy
                            Bob   Dan
                              Dannie

The bottom line is that we’ll never be able to handle the spam problem only by content filtering. The good guys will never be able to win the arms race.
The best I can see is that SMTP must be replaced by something that doesn’t allow anyone to send email to anyone else without any accountability.


Content-based filters are rags stuffed in the hole of a leaky boat. Water’s still getting in, and they’re not going to hold forever.

What’s the best solution you see that isn’t based on content analysis?