I have been asked to set up a 3 server environment with 1 server acting as an 'authoring' environment with the other 2 being a load balanced pair serving a public facing site.
Do I need to install Mail & CMO on all 3 servers?
Yes, but you can remove the admin interfaces for the public facing servers by modifying their episerver.config.
You might also have to keep the "Public" interfaces for EPiServer Mail because those are used when tracking opened and bounced emails etc. The "might" depends on your configuration for EPiServer mail, you specify the full URL:s including host in the episervermail section of your configs. So it is possible to route all such requests to the edit server though I would recommend using the actual site URL (to the load balancer) and keeping the parts of the EPiMail interface needed on all servers. Basically the /episervermail/public folder should be enough but I have never tested to remove the rest of the folder structure.
Many thanks for your comments - This will be interesting :)
Another complication has been raised; the 2 Live servers will share a single database. presumably this means that 2 Mirroring Channels will need to be created - how to prevent the database being written to twice?
Regarding CMO, you can try this approach:
More information about CMO configuration:
This is great info - thanks
About mirroring - as mentioned in the Mirroring technote "The Mirroring application can even be hosted on a totally separate machine to the source and target sites." (unless you ar using legacy mirroring).