Matt,
Sure did. Finally figured it out - Spamassasin looks for the from: address, not the from envelope. I was using haylee.gendns10.com as the "return", but it is whatever you specify in the header section as the from to whitelist. In fact, whitelisting with *@.domainname.com works as well. It should score at 100. I found that turning spamassasin on and then dialing up the "throttle" to like a 10 or so, will allow you to see what it is doing and scoring on in terms of headers, so you can modify your headers to produce a lower score for your e-mails.
As far as the blackberry thing, blackberry requires very specific headers in order for it to be happy. And, forget HTML type - only text at this point. Blackberry is aware of this problem.
So, below are some headers that I am using on a contact form that are working for blackberry devices. Note that I have a MIME boundary generated, but don't use it. I don't know what this does, but it didn't work without it.
PHP Code:
//To help out with the message end of lines...
if (strtoupper(substr(PHP_OS,0,3)=='WIN')) {
$eol="\r\n";
} elseif (strtoupper(substr(PHP_OS,0,3)=='MAC')) {
$eol="\r";
} else {
$eol="\n";
}
$to = 'blah@blah.com' . ', '; // note the comma for multiples
$to .= 'anotherblah@blah.com';
// subject
$subject = 'Subject Here';
$headers .= 'From: Mr. Email Man <blah@blah.com>'.$eol;
$headers .= 'Reply-To: Mr. Email Man <blah@blah.com>'.$eol;
$headers .= 'Return-Path: Mr. Email Man <blah@blah.com>'.$eol; // these two to set reply address
$headers .= "Message-ID: <blah@".$_SERVER['SERVER_NAME'].">".$eol;
$headers .= "X-Mailer: PHP v".phpversion().$eol; // These two to help avoid spam-filters
// Boundry md5 hash for marking the Headers
$mime_boundary=md5(time());
$headers .= 'MIME-Version: 1.0'.$eol;
$headers .= "Content-Type: text/plain; charset=iso-8859-1; boundary=\"".$mime_boundary."\"".$eol;
$message = 'You have just received a comment. Details to follow:'.$eol.$eol;
$message .= 'Name:'.$eol;
//keep going with the rest of the message...
//then, mail it
mail($to, $subject, $message, $headers);
Hope that helps to anyone with the same problem.
Charlesh