Hi Jerry,
>I really wish that I understood more about all of this.
Basically, you can send the email from the server or the desktop (be that a browser, outlook, or some other desktop email program).
If you send it from the desktop (also called the client) then we don't have a lot of control over what happens. All that we get to do is hope the list of emails gets sent or copied into the right place in the desktop program and everything works as it should.
Software differences or bugs, user error, and many other issues can affect the outcome. Different internet providers may throttle or limit outgoing email in different ways. And unless everyone uses the same mail program different desktop programs will format and send emails according to their own standards.
On the server we can make a program to do whatever we need, including hard-coding it to only BCC users or send a separate copy to each user. If a users email is in the To: line it often have more luck getting through the spam filter.
There's still the issue of volume. If you're sending a couple hundred emails you're probably fine. More than that and you need to watch for PHP script timeouts and other issues that may interfere with the outgoing mail. Web hosts have their own limits of outgoing mail as well.
On top of this, each email client that receives an html message formats it differently. See:
http://www.campaignmonitor.com/resources/entry/677/image-blocking-in-email-clients/
http://www.campaignmonitor.com/css/
There's technical documents called RFCs that (are incredibly dry reading) and describe how it all works. From a technical perspective you can put anything you want on the from, to, and cc lines (bcc never appears) in the same way you can put whatever you want in the subject. Behind the scenes the email addresses that the message is sent to are unrelated to that. So I can, for example, send you a message from bill.gates@microsoft.com in a few lines of PHP.
So there's no blanket solution. If you want to build something I'd start by trying to create a viewer that puts HTML into a variable and then mails you (just you) that html. If you can get that working right then you can add some code to load all the emails and loop over them mailing each one. It will take a bit of experimenting, though.
So there's some background on how it all works. Hope that helps! :)
Dave Edis - Senior Developer
interactivetools.com