NOTE: This was tested solely against a small test domain. It has never been tested in a production environment. If you choose to use it in a production environment, you assume any and all liability for problems or errors that occur. I explicitly disclaim all liability, I offer no warranties, expressed or implied. This is provided on an "as-is" basis.
I have no reason to believe that it won't work, but in today's lawsuit-happy social environment, that doesn't mean much. And, if you choose to sue me, well, I'm not worth anything, so you won't get anything anyway.
This is a sample of how to use XMail's external authentication feature to authenticate against a Windows NT domain.
Included files:
| NTAuth.txt | This file |
| NTAuth.dsp | Visual C++ project file |
| NTAuth.dsw | Visual C++ project workspace |
| NTAuth.cpp | C++ file with actual authentication code |
| NTAuth.exe | Compiled version of NTAuth.cpp |
| StdAfx.cpp | CPP file for Standard header file |
| StdAfx.h | Standard header file |
| schmoo.foo.tab | Sample .tab file for external authentication |
You will need to open the schmoo.foo.tab file, and edit the last item on the line therein. That last item needs to be your Windows NT domain name. Note that this is not the DNS name for you domain, but the name that Windows shows you if you open My Network Places (formerly Network Neighborhood), choose "Entire Network", then "Microsoft Windows Network".
The schmoo.foo.tab file needs to be renamed for the mail domain you are handling (if your mail domain is microsoft.com, then the tab file should be named microsoft.com.tab). This file should be placed in the Also note that you still have to add the users for this domain to the mailusers.tab (preferably using CtrlClnt.exe or other administration software), although it does not matter what password is stored in the mailusers.tab for the user.
Place the NTAuth.exe file in your That should be it. When your users connect and attempt to authenticate, XMail will find the .tab file in Added to this code is basic logging of all authentication attempts (success and failure). At some point in the future, I'll modify the code to make logging optional - but for the moment...:)