PMDF MessageStore is a high-performance message store optimized for IMAP access (although POP access is also available). Any combination of IMAP or POP mailboxes can be allotted to individuals based on the total license pool available. For example, with a 5,000 mailbox license, 4,900 IMAP mailboxes and 100 POP mailboxes can be assigned to individuals. This combination of IMAP and POP mailboxes can be changed at any time.
If IMAP is not needed, the PMDF popstore should be used since it is optimized to the simpler requirements of POP3.
The PMDF MessageStore is scaleable to a large number of users and lengthy messages. High scalability is achieved because the PMDF MessageStore places user folders and profiles in the
/pmdf/ user tree. This tree has a configurable subdirectory fanout (see the PMDF popstore & MessageStore Manager’s Guide). Public folders are stored in the /pmdf/msgstore tree and may be distributed across multiple drives.
The PMDF MessageStore uses a filesystem model rather than a monolithic data-base model. This improves scaling as the store may be distributed across multiple disk drives. It improves the ability to recover from system failures as the impact of a damaged file is isolated to only a tiny portion of the MessageStore. This architecture also means backup can be performed using traditional filesystem backup tools written by vendors who specialize in that area; you will not be locked into a proprietary mailsystem backup/recover tool. Recovery of a user's mailbox simply involves restoring that user's directory and running the provided "reconstruct" tool. There's no need to take down the servers during this process.
Although the MessageStore's architecture is optimized for maximum performance, the message throughput is dependent on the ability of the operating system's filesystem capabilities. Linux systems can select from a wide variety of filesystems options. The OpenVMS operating system uses RMS.
The PMDF MessageStore is streamlined for use with IMAP clients. POP3 clients are supported also.
The MessageStore is primarily designed for IMAP scalability and manageability. It supports public folders so that a single mailing list subscription can be shared by a large community of users. Responses to common IMAP operations are pre-computed at delivery time, and the messages are stored in a ready-to-download format for IMAP without the need for any pre-processing of the message data. In order to simplify backup and restore of a single user, each user's mail is stored in a single directory sub¬tree.
Each user of the MessageStore has a MessageStore account. Accounts are created with either the web-based or command line management utilities. Sites may develop their own utilities using the API.
The MessageStore has the concept of “privileged” MessageStore accounts. These are MessageStore accounts which have the MANAGE usage flag set. Only accounts with the MANAGE flag set may use the web-based management interface.
Passwords are used to authenticate a would-be user of the MessageStore. This support is implemented using the Simple Authentication and Security Layer (SASL) technique defined in RFC 2222. Thus, passwords can be stored in a variety of locations including the PMDF MessageStore profile, the PMDF password database, system password files, LDAP directories, and user defined data structures. In addition to password location independence, SASL allows a variety of authentication methods to be used including plain text password, the login password method, CRAM-MD5, APOP, and user-defined methods.
To complete the security services available for user authentication, PMDF MessageStore access can be encrypted with the addition of PMDF-TLS, a complete implementation of SSL/TLS mechanisms.
MessageStore accounts have the same basic profile information as popstore accounts such as the account owner's full name, quota, account management flags, domain and subdomain information and more. The same underlying data structure is used to describe both MessageStore accounts and popstore accounts.
The MessageStore supports only one account naming schema:
USERNAME_STYLE=3. When configuring the MessageStore, the PMDF configuration utilities will select that naming schema automatically.
PMDF MessageStore has account quotas to control how much message storage a given account may have. When an account exceeds its storage quota, as measured in bytes of disk space, the account may not receive new mail. The user must delete some of their stored mail in order to receive new mail.
For the purposes of Sieve message filtering, delivery to MessageStore is considered a local message delivery and thus the per-user message filtering is available to MessageStore users. A simple web-based interface to the Sieve filters allows untutored users to take advantage of message filtering.
The MessageStore supports the concept of subaddresses. If an address contains a plus sign (
+) in the local part, then any characters to the right of the plus sign up to the at sign (
@) are considered the name of the folder to deliver the message to.
The MessageStore includes a forwarding database used to re-route mail destined for the MessageStore to other addresses. The addresses may be either internal or external to the MessageStore. Moreover, forwardings need not correspond to actual MessageStore accounts.
Stored messages are spread across a directory tree, not contained in a single directory or file. Messages are stored as text files ready for downloading to the client. Message files are platform independent and can be moved from one platform to another without modification.
Frequently, the central list of users of a message store causes a performance bottleneck. With PMDF MessageStore there is no central list of user accounts; rather, user profiles are hashed across a directory tree. Using a variety of techniques appropriate for the platform, PMDF MessageStore user profiles can be spread across multiple disks to ensure that user information can be accessed quickly. User profiles are platform independent and can be copied from one platform to another as needed.
PMDF MessageStore provides a full complement of IMAP services.
The MessageStore API can be used for account management. It provides sup-port for changing user’s passwords, modifying user’s attributes, and creating and deleting MessageStore accounts.
Users with operating system privileges as well as MessageStore users who have been granted MessageStore management privileges may use this utility.
The master channel, which resides on the PMDF MTA base product, delivers inbound messages to the MessageStore. Inbound messages for the MessageStore are queued to this master channel. The MessageStore takes the messages from the channel and places them in the appropriate user account.
This forwarding database allows mail for MessageStore users, fictitious or other-wise, to be automatically redirected elsewhere.
The POP and IMAP servers that reside on the PMDF MTA base product include the following:
The IMAP4 server supports the IMAP4 ACL and QUOTA extensions so that existing clients can be used to manage directly shared folders and quotas through the IMAP protocol.
This utility is provided to migrate the mail inboxes for native login and popstore accounts to the MessageStore. The utility can create a MessageStore account for each migrated user, migrate their mail inbox, and then establish mail forwarding from their prior account's message store to the MessageStore.
This is a multi-threaded poppassd server for users of Eudora, Mulberry, and other clients that support the ad hoc poppassd protocol. This allows users with a MessageStore mailbox account to change their password on the server.
This utility is provided to reconstruct MessageStore index and mailbox list files in the event they are corrupted. In addition, if mailboxes are restored from backup, this utility can reintegrate them into the MessageStore without the need to stop the servers.
The msgstore channel is set up by the PMDF MTA base product such that it can, when presented with a MessageStore address, immediately check to see if it is valid or not. For example, is it a valid recipient address? Is the recipient allowed to receive new messages? This allows the various incoming mail streams to reject, up front, invalid messages for the MessageStore, thereby obviating cases where the message is received only to then be bounced.
A web-based management utility is used to manage the MessageStore. The utility presents itself as a multi-threaded CGI accessed through the PMDF HTTP server. MessageStore users with management privileges may use this interface to monitor and manage the MessageStore. This utility is extremely reconfigurable; the entire interface can be changed to suit a site's needs.
A basic web-based user interface is provided. This interface allows a web client to change their password, set vacation notices, and see basic usage information about their account. Unlike the user interface for the popstore, this interface does not allow MessageStore users to access mail stored for their account.
PMDF MessageStore is licensed separately from the PMDF-MTA base product. Sites with a PMDF-MTA license may create up to ten MessageStore user accounts in addition to the default account. A PMDF-MSGSTORE license is required to create more than ten user accounts for the MessageStore.
PMDF-TLS supports any valid OpenVMS or Linux configuration.
One of the following operating system environments is required: