a solution for this problem
i have a workaround for this problem. i figured out how to configure it to use procmail as the mail delivery agent, which automatically prepends the &From& lines in the message body with a &&& to prevent these mail splitting problems.
here's what you do:
1. create the file /etc/vfilters/yourdomain.com with the following contents:
----- start file contents
# Exim filter
if error_message then finish endif
if
$local_part is &accountname&
then
pipe &/usr/bin/procmail -a ${extract{5}{:}{${lookup{${lookup{$domain}lsearch*{
/etc/userdomains}{$value}}}lsearch{/etc/passwd}{$value}}}}/mail/${domain}/${loca
l_part}/inbox&
endif
----- end file contents
replace &accountname& with your actual e-mail account name. so if your e-mail address is &
[email protected]&, you'd use &foo&, and the file would be called /etc/vfilters/bar.com.
if you have multiple e-mail accounts in the domain (most people probably do), you can do something to the effect of:
if
$local_part is &accountname& or
$local_part is &accountname2& or
$local_part is &accountname3&
then
...
2. create the file .procmailrc in your home directory with the following contents:
----- start file contents
PMDIR=$HOME/.procmail
LOGFILE=$PMDIR/log
DEFAULT=$1 # the exim filter passes this in
:0 fw
| /usr/bin/spamassassin
----- end file contents
that's it! now, when mail arrives, exim will pipe it through procmail for delivery instead of piping it to spamassassin (which isn't supposed to handle delivery). procmail will then filter it through spamassassin, and deliver it to the local mailbox.
a couple caveats to this approach:
1. if you use the cpanel gui to block e-mails or anything else that uses the /etc/vfilters/yourdomain.com file, i don't know what will happen. i don't use the gui, i prefer to edit the file manually so i know exactly what's in there. if you're doing this, you probably are of the same mentality anyway.
2. you must account for every e-mail address individually. if you set up your /etc/vfilters/yourdomain.com file to pipe everything through procmail, you would get delivery errors when you try to send mail to an e-mail address that is aliased, or anything destined for the catch-all mailbox. this is because the pipe to procmail would be happening before exim had a chance to substitute the real address for the aliased address.
3. there may be more caveats, but this is all i've personally run into. i'm not a cpanel developer, i'm just a guy who's having the same problem and wanted a workaround for it rather than waiting around indefinitely for it to be officially fixed. your mileage may vary.
-chris