ReadMe File for WinSmtp Shareware Release 1.04 ----------------------------------------- WinSmtp is Copyright 1994, Jack De Winter Thanks for the time used to evaluate this product. A lot of work by a lot of people has gone into making this daemon work very well on a wide variety of systems. Feel free to send any comments about this package to: winsmtp@wildside.kwnet.on.ca In addition, there is a WWW page that has been generously provided by my employer, Software Metrics. Feel free to access the page to get information about WinSmtp, but please do not flood the page with tonnes of usage. At some point in the future, I will probably get a full Internet IP feed, at which time I will provide the WWW page on my own computer. But that may take some time, so please be patient. The WWW pages are: //metrics.com/SMTP/index.html/ //wildside.kwnet.on.ca/WinSmtp.html/ The aim of this product is to effectively lower the cost for people out there. This can be achieved by having one account on a service provider and using a Windows-enabled machine to receive and send all of the mail. As this will save the end-users some money, by not having to use multiple accounts on a service provider, the modest shareware or commercial fee for the product will be won back many times within months. Whenever someone reads something regarding paying a shareware fee, the usual response is: "yeah, I'll use it but won't pay anything for it". The usual response from the programmers are: "hey, we worked on something and would like to be able to recover our costs for it". As both, I have to say that I register all of the shareware that I use. I know what it is like to write something and to want to recover costs. Think of it this way, the unregistered version is a little trailer for the movie. If you like it, you pay and go and see it. Otherwise you don't. The onus is on you. Introduction ------------ This program is an Internet Mailer Daemon. The purpose of this product is not to read mail, but to provide services for the users of a system to read mail. To this end, the daemon provides SMTP and POP3 support for sending and reciving mail. These services can be used by a front end, of which there are many, that makes use of the UNIX mailbox or POP3 services provided by this product. To send mail, the user can call either the SMTP server and drop the mail off there, or they can use the 'wrmail' program included with the daemon to place the data in the proper format and in the proper location. To receive mail, the user may either scan the UNIX style mailbox, or they may also use the POP3 server to access the data. Future versions of this product will support some of the standard interfaces for relaying mail, including Microsoft Mail support and CCMail support. As This is done as a shareware product and those are commercial features, those options will probably be left for a commercial version. Features -------- This product is currently undergoing beta testing for a possible future release as both a shareware product and a commercial product. The current list of features are as follows: - easy to read status screen, with output relayed to a log file. - outgoing mail support though a rmail like interface and SMTP server capabilities - full MX record resolution, including resolution to subnets - access to incoming mail in mailboxes though the UNIX mailbox type format and POP3 server support - configurable connection methods, and the ability to specify groups of connections based on the node or class of nodes - easy to use method of determining which nodes are not responding - almost invisible usage without any user intervention (except possibly at startup of the daemon program) - compliant to all of the Internet RFC (protocol specifications) noted below - easy to use dialogs to access the function for the system - friendly reporting of connection information in the main window and retry information in an easy to access dialog - friendly support over the Internet Compliancy ---------- This product is compliant with the following RFCs, except where noted. This list gets bigger as more RFCs come out and as I get to work through more of them. RFC 821 - SMTP RFC 822 - Internet Mail Format (types of addressing) RFC 1123 - Requirements for Internet Hosts RFC 1460 - POP3 (except for the APOP command) Shareware Version ----------------- Currently, the unregistered shareware version of the daemon has the following limitations: - only one user can access the system through the POP3 services - pops up a dialog every time the program is started - limit of 5 active users within one daemon - limited support for the product via the internet - no options in the retry dialog (to bounce or try again with a given node) - no connection exceptions used for routing besides the main routing option Registering the program will eliminate the reminder dialog, increase the number of POP3 sessions to 10, eliminate all of the other limitations, and will entitle the user to full support. The cost for registering the shareware version will be $50 per unit ($50 USD for everyone outside of Canada and $50 CDN for everyone inside of Canada). Based on the input from the beta testers, this seems to be a reasonable amount to charge. If you want a copy of the program on a 5.25 or 3.5 inch disk, there will also be an ammount added for the shipping and handling of the disk. Future enhancements will include: - mailing lists - forwarding of mail to an outside address - auto-responding mail addresses (set up to mail a given file to the sender of the message), with ability to pull information out of Subject or body - support for the MAPI protocol - support for the ESMTP extensions Configuration ------------- As of release 1.03, we have the new configuration dialogs. There is a dialog for the general setup of the system, and a separate dialog for the maintenance of the users. When the program is run for the first time, it will assume some basic settings, which you will have to change. The most important of these is the SmartHost setting. This setting determines a computer that will receive your requests to send mail and will pass mail to you. It is important to check with the owners of the computer to make sure that it is okay to use their computer for this purpose. While most people will agree to forward mail for you, they really do appreciate you asking. At the beginning, the only user that should be active is the root user. You will probably want to set up an account for yourself. Note that the root user and the postmaster user always have to exist. Installation ------------ 1) Create a directory and unzip the file into that directory. There should be the following files: readme.txt (this file) manifest.txt bugs.txt wrmail.exe winsmtp.exe winsmtp.ini openc.dll ctl3d.dll ctl3dv2.dll If any of these files are missing, contact the mail address at the top of this file for help. 2) If the installation has gone write, you should be able to get the daemon up and running at this moment. Run the file 'winsmtp.exe' using Program Manager, File Manager, or any other application that can launch programs. 3) When the program is run for the first time, it will try and acertain the name of the local machine and the IP number. If you need to override these values, you need to put the correct entries in the "LocalNode" and the "LocalIP" entries. Each time the program starts, it will attempt to verify these values. These values, and all of the other values specified in this section, may be changed by using the 'Options | System...' dialog box. 3) Specify the name of the service provider in the SmartHost entry. All mail will get forwarded to this machine to get processed. If this value is not specified properly, then outgoing mail will not be able to be sent outside of the computer. Make sure you check with the system administrator at the computer you are using at this host to ensure that it is okay for you to forward your mail there. They may also need to set up some records so that everyone else will know to send mail for you to their computer first. 4) Specify the name of the NameServer in the NameServer entry. This is used to resolve addresses to send files to, so it should be aware of a fair number of nodes. In my setup, I have this set to the same node as my SmartHost. 5) You may want to set the SystemIncoming, SystemOutgoing, UserDirectory, LogFile, and Users-Root entires to point at different directories. For example, I place my system directories in c:\winsmtp\sysin and c:\winsmtp\sysout, with the mailboxes in c:\winsmtp\sysmail. The logfile is set to c:\winsmtp\syslog\maillog.txt. 6) You may want to change the "DoExpnAndVrfy" entry to reflect that you do not wish the EXPN and VRFY commands to be used. These commands allow postmasters (and other users) to look at your SMTP daemon and ask about mailing lists and users. No information is given beyond the name and address of the user for VRFY. EXPN returns only one message as the daemon currently does not support mailing lists. Adding and changing users ------------------------- At the current moment, there are two types of users: users and aliases. A user is an actual entry specifying that a person will be using the system as their maildrop. An alias allows mail for a user to be sent to multiple addresses and routed to the single account. A good example of this is the root account, which has many different accounts forwarded to it. To access the user database, select the 'Options | Users...' menu item and the users dialog box will appear. The listbox shows all of the current users, with controls to change the information regarding the currently selected user. To add a new user, select the user type, and enter in the appropriate information and press the 'Add' button. To change data for any existing user, select that use in the listbox and change the data. Once the entries are acceptable, the 'Modify' button will become enabled and pressing it will change the settings. To delete the current user, press the 'Delete' button. Note that unlike the 'Options | System...' dialog, these changes will take effect immediately. Also, verification will be performed to ensure that there is a user (or alias) for the 'root' user and the 'postmaster' user. This is required for the operation of an Internet mail node. Routing and Timing ------------------ In addition, there are two dialogs used to specify how to connect up to the remote sites. The Timing dialog specifies how often to cycle through the two queues, incoming and outgoing, as well as the length of time to wait for a connection request to be acknowledged before assuming the remote system will not respond. The routing dialog allows the daemon to control how often retries will occur and how it should resolve the addresses. There is always a main configuration, used by the system as a default. There is also the possiblity of specifying exceptions to that default. This option is useful when you need to cause contacts within a subnet to go to the computer itself, and not to send it to a mailhost computer that is acting like a firewall. Retrying Messages ----------------- Every so often, you are unable to access a host. In that case, the messages will get placed into a retry queue. This queue is accessed routinely to check to see if it is time to retry any of the pending messages. There is also the option to use the 'Bounce' button or the 'Retry' button. (The action of hitting the Retry button is also performed when an item is double- clicked upon.) The bounce button will send the message back to the user with the reason that it got cancelled by the daemon. The Retry button forces a retry to occur, if possible, as soon as the daemon can handle the retry. Using the WRmail.Exe program ---------------------------- The daemon comes with a program called WRmail. This program allows you to specify a file to be sent along with user information. The current command line is as follows: wrmail [-r] [-s {sender}] -f {file} {recipient1}... {recipient n} or wrmail [-r] [-s {sender}] {recipient1}... {recipient n} < {file} Objects in braces ( '{' and '}' ) are used to denote objects that are representations. For example, {file} would be the name of the file that you want to send. Objects in quare brackets ( '[' and ']' ) denote objects that are optional. For the optional sender object, if one is not specified, then the WRmail program will expect the first line to be in the form: From {name} {date} From this information, the program will extract the date. The '-r' options forces the RFC 822 compatibility mode off. This effectively treats the input file as encapsulated data, and it will add its own header information. For this option, the sender of the file must be specified separately. Problems, Bugs, and Comments ---------------------------- Please report and problems and bugs to 'winsmtp@wildside.kwnet.on.ca'. You help is greatly appreciated and we will fix the bugs and get back to you as soon as possible. For problems, we will try to find a solution that will address your needs. As to comments, a lot of the things that have been added and changed in the current version were from people asking about it. Feel free to ask questions about SMTP, POP3, daemons, and anything else. If something is out of the ballpark for this product, I'll let you know that I condsidered it, and quite possibly the reasons why the idea was rejected. Thanks for your support. Jack De Winter