How to configure your SMTP Server
Windows 2000 Server contains a built-in SMTP server. You can find it in the Internet Information Services (IIS) Management Console, available within Administrative Tools.
You can configure your SMTP server to deal with all your outgoing mail, instead of using the SMTP server of your ISP. It is fully functional, and you do not need to resort to the expense of buying Microsoft Exchange Server to deal with your mail (unless you need the additional functionality that Exchange provides).
One advantage of this is that your e-mail clients (eg Outlook, Outlook Express) can be set up to be independent of your ISP. This means that you could use a number of different ISPs without having to change the settings in your e-mail clients each time.
To perform the basic configuration of the SMTP server, follow these instructions :-
- Right click on the default SMTP server in IIS, and click Properties
- On the General tab :-
- The Name will be set to 'Default SMTP Virtual Server'.
- The IP Address will be '(All Unassigned)'.
- Tick 'enable logging' (this is useful when you have problems), and select 'W3C Extended Log File Format' as the Active log Format. You can change the details that are logged and the location of the log file by pressing the Properties button.
- On the Access tab :-
- Press the Authentication button, and tick the 'Anonymous Access' box.
- Press the Connection button, and select the 'All except the list below' radio button.
- Press the Relay button, and select the 'Only the list below' radio button. Use the Add button to restrict relaying to the computers on your LAN.
- On the Messages tab :-
- Place the email address of your mail administrator in the 'Send copy of non delivery report to' box.
- You can make other settings here, and change the location of the Bad Mail directory.
- On the Delivery tab :-
- Change the First, Second and Third Retry Intervals to 5, 10 and 15 minutes respectively.
You now need to create your Remote Domains. To do this, expand the SMTP server tree and :-
- Right click on the Domains, and select New > Domain. This starts the New Domain wizard.
- Select the Remote radio button and press Next.
- Enter a domain name to which you want to be able to send mail (eg influentialcomputers.com), and press Finish.
Now you need to make a setting on the Remote Domain that you have just created. Right click on the new Remote Domain, select Properties and follow these instructions :-
- Tick the 'Allow incoming mail to be relayed to this domain' box, and press OK.
You can now change the 'Outgoing Mail (SMTP)' setting in your email clients (in Outlook this can be found under Tools > Accounts > Properties > Servers) to the IP Address of your server (you can set up a DNS entry for it, so that you can use, for example, smtp.yourdomain instead of an IP Address). You will now be able to send mail from you email clients to the particualr Remote Domain that you have just set up.
Now comes the awkward part. Your SMTP server will, as it is currently configured, send mail only to domains for which you have set up a Remote Domain. But what you really need is to be able to send mail to any domain. You can set up many specific Remote Domains, and you can set up Remote Domains like *.net, *.com, *.co.uk. But the list would be huge. You would need to set up a Remote Domain for every Top Level Domain (TLD) in existence. If you look at the Internet Assigned Numbers Authority (IANA) site, you will find that the number of TLDs currently stands at well over 200. What you need to be able to do is to set up a single Remote Domain of '*.*' or '*', but if you try to do this using the New Domain wizard, it will not allow it.
Fortunately, there is a way around this restriction. All the information in IIS is actually held in an equivalent of the registry, called the metabase. You can edit the metabase using a tool called MetaEdit, which you can download from Microsoft. Now, as with editing the registry, editing the metabase can have catastrophic consequences if you are not very careful. You can take a backup of the metabase before you start editing it, using the 'backup configuration' option in the IIS MMC.
What you can do with MetaEdit is to rename a Remote Domain to '*', so that this one single Remote Domain handles mail to all domains. So the first thing to do is to create a single Remote Domain (say *.net), get it set up correctly and test it to make sure it is relaying. Then, once you are satisfied that it is working, call up MetaEdit (installed into Administrative Tools by default) and follow these instructions :-
- Ensure that the IIS MMC is closed.
- Select the LM hive.
- Expand 'SmtpSvc', then '1', then 'Domain'.
- Rename the '*.net' key to '*'
- Exit MetaEdit
- Restart IIS (including IISAdmin, W3SVC, SMTP)
If you now expand the SMTP server hive in the IIS MMC, you will see the Remote Domain '*'. You should now be able to send mail to any domain from your email clients.