Seeing as no one else has yet responded, I'll give it a try. Mind you I fumble through most of my changes so use this as a starting point.
I had the same problem ages ago and switched to having my server use my ISPs smtp server. I am able to set any from address I want from internal clients or webmail. This should also eliminate those annoyng "residential Ip address" bounces.
In server manager -> email set the delegate smtp server to your ISPs smtp server. In my case it was "smtp.broadband.rogers.com"
From here you will also have to log in to your ISPs smtp server, I believe the key is the smtp-auth-proxy.
Here is mine with mods to protect my account:
# /sbin/e-smith/db configuration show smtp-auth-proxy
smtp-auth-proxy=service
Passwd=mypassword
Userid=myoutboundaccount@rogers.com
status=enabled
In case you are not familiar with db, leave off params and it will give you the commands. In this case you should enter the following:
/sbin/e-smith/db configuration setprop smtp-auth-proxy Passwd mypassword Userid myISPsuserId status enabled
be careful, it is case sensitive and also ensure you set your user id as per your ISPs instructions. It should be the same as what you would do for your email client.
Note, I created a special secondary email account just for outbound email from SME as Rogers (my ISP) seems to get confused if two clients login to the same account.
It's probably a good idea to restart the smtp-auth-proxy service via:
/etc/init.d/smtp-auth-proxy restart
Our more learned friends can correct me from here
-Christian