The problem with using a button on a web page is that the script will only continue sending as long as the browser is sitting there waiting for response. If you quit the browser in the middle, the process stops. I usually get around this by running my mailings while I sleep, but if you need your mailings done on a precise schedule, you need something like what Ultra suggested.
Comment on Re: How do I insert a crontab entry into crontab file using PERL
The problem with using a button on a web page is that the script will only continue sending as long as the browser is sitting there waiting for response.
Is that true? I really doubt that. Once you fire off a CGI-script, it will run its course, whether or not there is still a browser "listening". I don't think the webserver will kill off a script as soon as the browser closes.
And in case the script starts an external program (as in the OP), that is certainly not getting killed off by the webserver.
CountZero
"If you have four groups working on a compiler, you'll get a 4-pass compiler." - Conway's Law