enamel - the mailserver for the BeOS
Contents

enamel ]
Introduction ]
Licence ]
Features ]
Restrictions ]
What's new? ]
Future ]
History ]
Installation ]
Configuration ]
Availability ]
Known bugs and problems ]
Thanks ]

Configuration

Depending on what you want to do, you will need only some or all of these programs. You are able to configure everything from a simple single user email account to a full featured email server, including news.
The main idea behind enamel is, that you have a single program for every job you want to do - and maybe some additional scripts that bring in the features that are missing to fulfill your personal needs. Everything is linked by a standardized file format: message/rfc822.
In these files, the message is stored as is, the header fields and some special information is added as attributes. The header attributes names are constructed from the header fields name prepended by "Message822:". For example the "To:" line is stored as "Message822:To".
Additional to that, the following attributes are used by enamel:

  • Enamel:status
    Currently, enamel only know "New" for new messages and "Old" for old ones. But a mail reader could for example use "Postponed" for not yet ready to send messages, or an expire tool could use "Expired" or "Deleted" for messages that are marked to be removed. "Archived" could be used for messages that should not be deleted, etc...
  • Enamel:recipients
    In the recipients field, the email addresses of all recipients who still have to get this message is stored. For example when you write a new message to yourself and someone else, both adresses will be put into the recipients field by the mail client. The next one to pick up this message normally is MCP. MCP (if configured right) then splits the message into two new messages, on with recipients set to your address, one with recipients set to the others address.
  • Enamel:target
    The target is the most important field. A target is a kind of an internal address. smtpd for example sets the target of a recieved message to "MCP". MCP picks up all messages with the target "MCP" and the status "New". Depending on the configuration and the recipients field (see above), the message is copied (once or more) with a new target field and the original message's status is set to "Old". smtp can be configured to pick up messages with a given target field and send them to a given host. The same goes for pop3d, with the exception that pop3d waits for a client to connect and identifies itself as the recipient for that target.
    With this concept, you could for example tell MCP to set all outgoing messages target field to "outgoing". Another application could pick up these messages and filter them for spam (in this case, a spam is mail that is coming from an outside host and is going to an outside host, where your system is used as a relay only). All valid messages get their target field set to "valid.outside" and are picked up by smtp and get send out.
  • Enamel:source
    The source is very similar to target. Normally you will only need this if you use the nntp to read news with enamel. Every application of the enamel package is able to set the Enamel:source attribute. This way MCP is able to route depending on where the message came from. This becomes really important if you read news with enamel: Normally, all articles that come in via nntp will be sent out via nntp again, because those articles are new and they match MCP's routing pattern for news. The same goes for emails you recieve that have a Newsgroups: header. You can use this trick to post articles by sending an email to your own email adress with a Newsgroups: header set. But the bad thing is, that anyone could do that. So this is what the source attribute is for. You just tell hermes for example to add the source "hermes" to all articles that are written by you. And then you tell MCP to route only articles with the source "hermes" set to nntp.
  • Enamel:folder
    The folder is normally set by MCP. If no folder is set, the attribute is set to "None". The folder attribute is an easy way to sort your messages by a certain creteria. You can use MCP to set the folder depending on queries, write your own scripts to do that or just set them by hand.
  • Enamel:fromname
    This is the realname part from the "From:" field. It's not here for technical reasons, just to have the realname for display in Tracker queries.
  • Enamel:fromaddress
    This is the email address part from the "From:" field. Same reasons as above.

Now have a look at how to configure the enamel components:
Copyright © 1998-99 Stegemann & Co., Inc., all rights reserved.
Created: February 25, 1999. Last modified: April 24, 1999.