I do not know if this helps but what I did is this: manually add a mail.* virtualdomain, create mail. subdomains for all your domains, so all your hosted domains can be reached by mail.domain.com - and you only have to install squirrelmail once because all mappings of mail.* point to this installation.
and inside the mailheaders the domain where the mail is sent from is always the domain used to logg in so if you logged into mail.domain1.com this is where the mail seems to be coming.
if you want even more comfort try the virtualuser plugin for squirrelmail - here you can set almost any setting you might want. (although that was too complicated for me and I am fine with the current solution)
hope this helped a bit... (as far as I rememberif I create a new user and do not set anything inside squirrelmail the sender is: also user@ main domain, but with the plugin I mentioned you should be able to fix that)