wenn man der mail() Funktion nur das unbedingt notwendige mitgibt, dann werden einige der für Spam-Filter interessanten Header-Daten von PHP mit Werten gefüllt. Und bei diesen Werten schlägt der Spam-Filter vieler Provider Alarm.
richtig - so war das gemeint - der vierte parameter in der mail-funktion lässt die saubere defintion der mailheader zu
wie eine "saubere" e-mail auszusehen hat, lässt sich hier nachlesen
http://www.faqs.org/rfcs/rfc2822
im übrigen zählen auch html-fehler (2x body, nicht geschlossene elemente usw) bei manchen spamfiltern als ausschlusskriterium