The CoffeeMud SMTP Server:
The CoffeeMud SMTP Server is a simple mail transfer program which acts as server that runs as part of CoffeeMud.  It's primary purpose is to act as a mail forwarding and relay engine for email between mud users, and as a distribution point for mailing lists and other email related functions.

How to Connect:
By default, the smtp server listens on port port 25 by default.  Changing this port value is generally a bad idea which will almost certainly eliminate the ability for your server to receive mail from others.

Messages sent either directly or indirectly to the CoffeeMud SMTP Server MUST follow ALL of these rules or face rejection:



What it does and doesn't do:
It accepts mail for storage and eventual delivery if the security conditions are met.  It maintains mailing lists for journals.  It provides security against illegal postings to journals or mailing lists.  It delivers emails to where they need to go, and distributes mailing list messages to where they need to go. 

It does not handle SMTP compliant mailing lists, and will only deal with plain text messages due to journal interactions. 

It supports HELO, EHLO, RCPT, MAIL, HELP, QUIT, NOOP, RSET, DATA, and DSN.

It does not support EXPN, VRFY, VERB, ETRN, or any expanded parameters to either MAIL or RCPT.

Security:
The SMTP Server may be bound to 127.0.0.1 (localhost) - this means it will not accept external connections.

The SMTP Server only allows messages FROM valid users or journals TO valid users or journals.  All security checking is done as the message is arriving, so there is no chance of an invalid message taking up disk space, much less being relayed.  It doesn't get any more secure than that.

Configuration:
The default installation of CoffeeMud has two inbuilt web servers, named 'pub' and 'admin'. The web servers are enabled with the line 'RUNWEBSERVERS=true' in 'coffeemud.ini'; any other value or the abscence of this line will cause the web servers not to be loaded.

INI files for the web servers live in the 'web/' directory off the CoffeeMud root; by default, all pages to be served go in web/(servername)/, though this can be overridden. Options are placed in either 'web/common.ini' or 'web/(servername).ini'; an option in the latter will override one in common. The options are:

Not listed here, but even more important is the DOMAIN entry in your coffeemud.ini file. This is your servers domain for the purposes of interpreting local email addresses.  It should be identical to your servers domain.  For instance, if your server is myserver.myhost.com, then so should this value.  Email addressed to your mud would then be playername@myserver.myhost.com.  This domain must match the incoming mail addresses to be accepted.