hmm... I am a qmail guy, and I don't practice much on exim, but what you ask pretty much applies to all mail servers.
As far as internal to external goes, this function is known as relaying. you have two basic ways of handling this, one is smtp-auth, the other is to allow relaying from certain IP addresses. If you server is on a LAN and all senders are in that LAN, or if all your senders are from static IP addresses, then allowing that LAN or those static IP adddresses to relay is your easiest option. If your senders are from dynamic or an uncountably high number of addresses, you will want to set it up with smtp-auth so that users can identify themselves as allowed to send(relay) from your server. You should, of course, make sure all that mail runs over TLS encrypted connections, as well.
If you are having a hard time finding a guide for exim, I would suggest finding a guide for another MTA and more or less copying it, seeing how they do it, then backfilling the gaps with specific exim documentation. I believe that you will find that all (most?) the different MTAs just have slightly different ways of implementing the SMTP protocol, meaning they all pretty much do the same things in the same order. So if you have an understanding of what things every mail server is supposed to be doing, then it becomes a matter of figuring how to configure those same steps in exim.
I would encourage you, but I will also say that setting up a production mail server is not a trivial matter. When I did my first production qmail install about 9 years ago, I don't think it took even two hours. Then, about the only thing you configured was who to relay for, and all you added to a mail server was clamav. Now, building a spam-proof, virus-proof, secure mail server with all the bells and whistles takes me 8-10 hours if I follow my notes and don't put anything new in. it is an amazingly fun and educational thing to do, but I strongly recommend doing your homework before throwing a mail server into production, especially for businesses.
|