.NET TNT Email Server Tester Description
2004-11-9
I. Introduction
TNT Email Server Tester is a test version that supports multi-domain names. He implemented the SMTP / POP3 interface, which basically implemented a small Email server.
This tester version includes source code for your reference.
Through everyone test, make a modification suggestion and opinion, I will modify and give a set of issuers of the valuable advice.
Second, SDK
TNT Email Server Tester itself is a small Email server, but the basic kernel function is based on Common.dll Server.dll. This beta and future issuance will not contain the source code for two core library files, but will release a set of source code for developing Email Server for you to learn from SDK.
For more information on SDK, you may have to wait until my distribution is commercialized.
All developed C # development, my .NET Framework is V1.0.3705, but I believe that on other version 1.1 version of Framework should also be run. If there are some abnormalities, and you can contact me in time, I will be very grateful.
To get a complete set of Email servers, you need to confirm the following information:
1, Email's root directory
2, Email's Pickup directory, that is, local delivery catalog. Server.dll contains service threads that monitors this directory and send this directory in this directory.
3, email's queue directory, that is, EML queuing buffer catalog. Server.dll contains service threads that monitors this directory and send this directory in this directory. DispsVC sends a letter to the cemetery storage directory or outgoing mail directory based on the EML file information of this directory.
4, Email's DROP directory, that is, it is determined that the local mail storage directory will have a system service thread from which the EML file is sent to a specific local user mailbox.
5, email's Outpost directory, that is, the storage directory that needs to be sent to the external mail
6. Determine the mailbox directory, that is, the storage of user mailboxes
7. Establish a mailbox storage directory for the local domain name. Suppose the domain name of the current Email Server service is abc.com, then create a domain name directory ABC.COM on the mailbox directory, then create the user directory mailbox directory and userinfo.ini files in this directory. Suppose username INFO
That is .... / Mailbox / abc.com / info / mailbox / directory
with
Document ... / mailbox / abc.com / info / userinfo.ini
Userinfo.ini format is:
Username = info
PASSWORD = *********
Fwdlist =
Name = xxx
CreatTime = 2003-1-1
UserName = One line indicates that the user name belongs to this user's mailbox, and the Password line is clearly the user's password storage. The release version will consider MD5 encryption. Other don't crossed, as reserved expansion needs.
8. In fact, the above needs to be determined in the iServerInfo interface definition. Each server requires two interfaces to run normally.
Public Interface iServerInfo
{
///
/// Get the various directory strings of the server, return the relevant configuration information through constant index
/// Access to SVR_DIR_XXXX
/// summary>
///
String [] ServerDirectorys ();
///
/// Access to SVR_DOMAIN_XXXX
/// summary>
///
String [] ServerDomains ();
///
/// Return to the server about the domain name and MX resolution
/// Access to SVR_DNS_XXXXX
/// summary>
///
String [] ServerDNssetting ();
///
/// The information included is: TCP timeout. . . . . .
/// Access SVR_RT_PARA_XXXX via constant
/// summary>
Int [] ServerRuntimeParameters ();
///
/// Returns the information returned by the server interaction
/// Access to access via SVR_REMSG_XXXX
/// summary>
String [] ServerReplyMessage ();
///
/// Return to the server side setting string
/// Access to SVC_SETTING_XXXX
/// summary>
String [] ServerSetting ();
}
The above interface returns a number of arrays, in general, arrays are determined by developers. Detailed reference example.
9, ILOG is an interface to record internal information to help the caller understand the case information of the thread call.
10, test environment:
.NET Framework 1.0 or more
Sufficient storage space and the correct determination directory.
Third, feedback
Welcome to send feedback to the following Email:
Myjobsdk@yahoo.com.cn
Compressed files and engineering documents in: http://www.vchelp.net/asp/cdf_pic/200410/subject_1_118575.zip