So you're trying to background it? I don't know if system() in PHP interprets the amp in that way, if it's wait()ing on the child process there's not a whole lot you can do. I don't know if it handles the redirection either...
As far as I can tell (the documentation isn't very clear on this point) it spawns a shell to run the command. Output redirection definitely works at least.
Further googling shows that a hack with piped execution does the trick:
proc_close (proc_open ($ExecCommand,array(),$somefun));
I haven't tried this yet, though.
That said... why are you doing it this way? Why can't they just check their mail directly? Why can't this be run automatically every few minutes from cron?
Unfortunately I live in the land of expensive bandwidth and dialup connections, so cron is out of the question.
Also, I have the server running IMAP so that all the client machines have access to the mail. Thus, the client machines talk IMAP to the server where all the messages are stored and the server has to talk POP3/SMTP to the ISP over the dialup connection, which can't be done from the mail client. (At least, not unless I write a Thunderbird extension which I don't have the time to learn to do.)