Note: It is worth noting that the
mail() function is not suitable for
larger volumes of email in a loop.
This function opens and closes an SMTP
socket for each email, which is not
very efficient.
Source: PHP manual
What are larger volumes? A 100 or a 1000??
Can I safely make it loop 200 times without much problems? (I can’t install pear)
You can loop it 200 times with few problems I would imagine, although it will be much slower than a custom mailer or a package set up properly to handle that.
The end result depends on many factors. The main thing you’ll want to make sure of is that you use set_time_limit() to give the script enough time to do the work. Offloading the work into some kind of queue that’s serviced by a cron script can make life easier on you as well, as keeping PHP scripts running for a long time will bring up other resource problems.
Back in the day, I used to send about 50,000 emails to a subscriber newsletter using PHP’s mail function and a RedHat server with Exim installed. It would take 4-6 hours with the custom script I had running. There was nothing efficient about it, but it did the job.