TITLE
    Mac OS X Server: About MailViewer
Article ID:
Created:
Modified:
60125
3/11/99
10/31/00

TOPIC

    This article contains the Mac OS X Server release notes for the MailViewer application.

    Note: This document was installed by Mac OS X Server in /System/Documentation/ReadMe. For a list of other release notes see:
    Article 30925: " Mac OS X Server: Release Notes "


DISCUSSION

    New Features

    The following new features are available in MailViewer but were not available in previous releases.

    Multiple Account Support

    You can now have multiple accounts configured in MailViewer. Using the Accounts preferences panel you can configure any number of POP or IMAP accounts. Each account needs a hostname, username and, optionally, a password set. If no password is given, MailViewer will prompt you when it is needed.

    Each account must also have an "Account Directory" specified which is the directory that will be used to store local copies of mailboxes or where incoming POP messages are temporarily stored while fetching. For best performance, this directory should be on a local filesystem. If you are running MailViewer on multiple computers, they should not use the same directory for accounts.

    In addition to any POP or IMAP accounts that you set up, there is a special account called "Local Mailboxes" which is always available to you. This account contains mailboxes that are located in the filesystem. The default location for these is ~/Mailboxes, although this can be changed. In this account there are 2 special mailboxes:

    Active This mailbox receives all incoming POP messages
    Drafts This mailbox is where messages get saved when you choose Mailbox->Drafts->Save in drafts

    The first account listed in the Accounts list is the "primary" account. When MailViewer launches, it will try to open the "primary mailbox" of the primary account. If the first account listed is Local Mailboxes then the Active mailbox will be opened. If the first account listed is IMAP then the INBOX will be opened.

    IMAP Accounts

    MailViewer now supports IMAP accounts. By default, MailViewer will automatically cache the contents of IMAP mailboxes locally. You can change the caching behavior on the Accounts preferences panel. The other choices are to not cache any messages locally or to cache messages as they are read. Note, that if you have indexing turned on, the entire contents of the message will be read from the server (in order to index it) so you probably want to leave caching turned on.

    Indexed Mailbox Searching

    MailViewer now incorporates the Apple Information Access Toolkit (AIAT, also known as VTwin) to provide fully indexed mailbox support. There is a new Search Index panel which allows you to perform simple or complex (boolean) searches and display the relevance ranked results in a table. To create an index for a mailbox use the Mailbox->Indexing->Create Index menu item. Once an index has been created, this menu item will change to Remove Index which can be used to remove the index file for the current mailbox. To bring up the search panel, choose Mailbox->Indexing->Search Index.

    To do a simple search, simply type one or more words in the text field on the search panel. The search will find any messages with one or more of the words in it. The results are shown in relevance ranked order which means that messages with the most and the closest matches are displayed first. The blue bar in the Rank column gives a percentage rank from 0% (no bar) to 100% (full bar). Also, AIAT matches "stems" of words, not exact words. Therefore, searching for "sleep" will find matches for "sleep", "sleepy", "sleepless", "sleeping", etc. Exact matches of "sleep" will be ranked higher but the other matches will still appear in the results. The search results will display the messages (up to 100) which match the search phrase. Double clicking on one of the resulting rows will display the message in the message viewer window. You can use the regular find panel to find the exact location in the message where the phrase(s) was found.

    Boolean searches can be done using the modifiers "and", "or" and "not". Furthermore, logical groupings can be made by putting parentheses around terms. The following table shows some examples with a verbose description of the phrase:

    Search Phrase Meaning
    Bill and Hillary Find messages containing both of the words Bill and Hillary.
    Bill or Hillary Find messages containing either of the words Bill or Hillary.
    Hillary not Bill Find messages that contain the word Hillary but NOT the word Bill.
    Bill and (Chelsea or Hillary) Find messages that contain the word Bill and either (or both) Chelsea or Hillary
    Bill and Hillary not (Monica or Paula) Find messages that contain the words Bill and Hillary but do not contain either Monica or Paula.

    Another thing to be aware of is that the AIAT engine uses a list of "stopwords" which are words which are not indexed. These are generally words which are commonly found in day to day language which are or little use when indexing. For example, "the", "also", "can" are all stopwords and will not be found if entered in the Search Phrase field. For the inclusive list of stopwords you can view the EnglishStopwords file which is located in /System/Library/Frameworks/Message.framework/Resources/EnglishStopwords.

    When searching mailboxes, keep in mind that VTwin does not fully support non-ASCII characters so things like Japanese text will not be properly indexed. Most accented characters will be indexed properly although searching for these characters may return additional non-related messages. The messages containing the accented characters will typically be ranked much higher than the "false positives" and as a result will appear at the top of the results list.

    There are a few preferences which control the indexing behavior. These can all be found on the Indexing Preferences Panel. The preferences are as follows:

    Prompt about creating indexes If this option is checked, MailViewer will ask you if you want to create an index whenever you create a new mailbox in the Mailboxes Panel or when you open a mailbox which is not currently indexed. The choices that you have are to click "Yes" meaning that you want to create an index of the contents immediately, click "No" meaning that you don't want to create an index at this time or click "No Forever" meaning that you never want to be asked again for this mailbox. If you click "No", MailViewer will ask you again the next time you open the mailbox. If you click "No Forever", you always have the option of manually indexing the mailbox at any time using the Create Index menu item.

    The default value is ON.

    Maximum number of search results This value controls the maximum number of rows the search panel will show. Increasing this number will increase the amount of time it takes to perform searches.

    The default value is 100.

    Color Quotes:

    MailViewer will now display text which is quoted in messages from other people in color. By default, the quote prefix is ">". Multiple levels of quotes (e.g. ">>", ">>>", ">>>>" and so on) get colored with different colors. This makes it easier to distinguish quoted text from the text from the person who sent the mail. There is a new Colors preference panel where you can turn this on and off, change the quote prefix and set the colors.

    Remembering Open Mailboxes

    In the Viewing preferences panel there is a new option called "Reopen previously open mailboxes". If this option is checked then any open mailbox windows at the time MailViewer quits will be automatically reopened when MailViewer is launched again.

    Improved Unicode Support

    Various improvements have been made to Unicode support in MailViewer. Among them are:

    • Recognizing and generating the Windows-1250 and Windows-1252 character sets
    • Properly decoding header values that have been encoded with specific character sets
    • Improved ISO-2022-JP handling

    Support for displaying MIME alternatives

    If you have selected a message which contains MIME "alternatives" (different versions of the message, for example, plain text, rich text, HTML, etc), the MIME menu in the Message menu will become enabled. This menu lets you select between the "first alternative" (which is typically a plain text representation) and the "best alternative" (which is the richest representation that the sender was capable of creating). Showing of all alternatives simultaneously or selecting intermediate alternatives is not currently implemented.

    Paste As Quotation and Automatic Quoting

    Under the Edit menu is a new menu item which will allow you to paste the contents of the pasteboard into a compose window as a quotation. The format of the quoted text can be changed using the Quoting preference panel. Also, if you have enabled the automatic quoting preference, messages will be quoted if you choose Reply or Reply All from the main window. If there is a selection in a message when you choose Reply or Reply All, only that portion of the message will be quoted.

    MIME

    MailViewer has advanced MIME capabilities such as inline images and attachments, multiple font styles and colors, and support for rulers.

    MIME supports multiple alternative representations of a sent message and lets the receiver pick the most appropriate one. MailViewer generate two alternatives, one plain text and the other an "enriched" format that contains things such as font attributes, inline attachments, and text colors. If you deselect the "Send MIME alternatives" option, MailViewer sends only one representation (either plain text or enriched text) depending on the selection made in the format pop-up list in the Compose window.

    When MailViewer receives messages with RTF text attachments it tries to display the contents of the messages inline in the body of the message (unless this feature is disabled).

    MailViewer also supports a custom extension to MIME that allows the application to embed information about the ruler in the body of a message. Currently the only information embedded are the tabstop positions. This information is embedded in such a way that that clients that don't support the extension simply ignore it and display text indented by fixed-space tabs.

    New Preferences Panel

    Several preference options that weren't in the Mail application have been added to MailViewer. You should review each of the displays to verify your settings and set any new options to suit your needs. The new options are the following:

    • User Information
      This display allows you to set your name and user name as it will appear in messages that you send. The default is to use the user name of the account you log in as, but you can change this to something else. The sample is only an approximation of how it will look to recipients of your mail because the receiving mail program controls the format. You can also specify a "reply-to" address that can be different than the account you are sending the mail from. This address is the one that most mail programs use when a user replies to messages; however, this behavior varies among clients.

    • Viewing
      You use this display to customize various aspect of the mail viewer (the main window for each open mailbox). Here you can also set how often MailViewer should check for mail.

    • Sending
      This display allows you to specify options used when you send mail. The most commonly supported delivery method is SMTP; your ISP or system administrator should provide the address of the SMTP host to use. You can disable warnings of messages over a certain size by either leaving the appropriate field blank or entering zero in it; even if you disable warnings, however, not all networks can deliver messages of any size. You should contact your ISP or system administrator if you experience problems with mail delivery that are due to the size of messages.

    • Accounts
      This is where you can create your accounts and set options for each account type.

    • Compose
      With this display you can specify the default format that MailViewer should use when you compose new messages. The display also allows you to control how you reply to messages. If you want to archive all outgoing messages automatically to a mailbox, you can enter the mailbox name in the appropriate field; if the mailbox doesn't exist, MailViewer creates it when you send the next message. To disable archiving for individual messages, hold down the Alternate key when you click the Deliver button.

    • Quoting
      If you want to quote the original text of messages automatically when you reply to or forward a message, you should check the appropriate checkbox in this display. You can also specify characteristics of the text included in the body of replied-to or forwarded messages for both plain text and rich text (MIME) messages. The format used is determined by the Format pop-up list in the Compose window when you click the Reply, Reply All, or Forward toolbar buttons or menu items.

    • MIME
      In this display you can enable the option that allows you to receive messages with inline text attachments. You can also select the "Send MIME alternatives" option to have both plain text and enriched (MIME) text sent to recipients as alternative representations of your messages. If the ruler option is causing undesirable text in the body of messages sent by MailViewer, you can disable the option.

    New Mailboxes Panel

    The Mailboxes panel uses an outline view to display the contents of your accounts in a hierarchical manner. At the top level are all your accounts. You can create nested mailbox directories by typing a path in the New Mailbox panel. For example, entering "Meetings/Notes" in the New Mailbox panel would create a directory called Meetings in ~/Mailboxes with a Notes.mbox inside of it. You can create a new mailbox in an existing ~/Mailboxes subdirectory by selecting that directory in the mailboxes panel, typing a name, and clicking the New button.

    If a mailbox has unread messages, the Mailboxes panel displays the mailbox name in bold face and shows the number of unread messages in parentheses after the mailbox name.

    Display of Senders Image

    When MailViewer displays an message it tries to find a TIFF file corresponding to the sender's e-mail address. The directories that MailViewer looks in are, in order:


      1. Local/Library/Images/People

      2. /System/Library/Images/People

      3. ~/Library/Images/People


    When it searches for a user's image, MailViewer use the From header's value and appends ".tiff" to the string. If it finds a match in any of the above directories, it displays that image in the upper right corner of the message viewer. For example, if MailViewer is displaying a message with a From address of "steve@apple.com", it looks for a file called "steve@apple.com.tiff" in one of the directories listed above.

    It is common to populate a central directory on an NFS server with the images of a site's users and then mount that directory as /Local/Library/Images/People.

    Known Issues

    These issues are known to exist in the MailViewer application:

    Issue Garbled messages displayed
    Description Occasionally MailViewer displays messages incorrectly; it displays random characters or sometimes part of one message and part of another. This happens when the mailbox file and the table of contents file ( table_of_contents ) become out of sync.

    Workaround
    To fix the issue, open the affected mailbox and choose the Mailbox->Rebuild Mailbox menu item.

    Rebuilding the table of contents may change the appearance of your mailbox in two ways. The first is that messages previously marked as being deleted may appear as undeleted. The second is that messages which were previously unread may appear as having been read.

    Issue Messages accidentally left on POP server.
    Description If you fetch mail via a POP server and have the "Only fetch unseen messages" checked, some messages might be left on the server even though they are unseen. MailViewer determines if it has seen messages by keeping track of the Message-ID header of messages. Message-ID headers are supposed to be unique, but sometimes (typically as a result of mailing lists), some messages can have the same Message-ID. When MailViewer fetches mail from a POP server, it scans backwards (from newest to oldest) looking for a Message-ID that it's already seen. As soon as it finds one it stops looking and starts fetching from that message forward. Thus, if two messages on the POP server have the same Message-ID, the message behind the fetched one is not fetched.
    Workaround Periodically uncheck the "Only fetch unseen messages" option and have MailViewer fetch all messages on the server. If you don't have the "Delete messages on server" checked, a large number of new messages might be fetched. The suggested configuration is to have "Delete messages on server" checked and "Only fetch unseen messages" unchecked. This configuration avoids the issue altogether.
    Issue Can't change filtered headers.
    Description The original Mail application had a preference for indicating which headers to filter when reading messages. This preference has not yet been added to MailViewer's Preferences displays.
    Workaround Although the filtered-headers preference is not settable in a Preferences display, you can set it as a user default from the command line (using the Terminal application). The default name is "MailFilter" and the value is a string containing colon separated header names. For example,

    defaults write MailViewer MailFilter "CC:Date"

    causes the the suppression of the CC and Date headers when a message is displayed. Setting a default such as this overrides the default filtered headers, which is: "Content-Length:Content-Transfer-Encoding:Content-Type:Errors-To:Mime-Version:Received:References". Therefore, you might want to include these values in your custom setting.

    Issue Transferring messages using IMAP sometimes fails
    Description Sometimes when trying to transfer messages between two IMAP mailboxes, the transfer button stays in for a few seconds then pops back out. Unfortunately the mail does not get transferred and there is no error reported.
    Workaround Clicking the transfer button a second time will transfer the message.
    Issue MailViewer is showing a different IMAP message than the one I have selected
    Description If an IMAP mailbox is compacted (sometimes also called "expunged" or "compressed") by another mail client, the locally cached messages can get out of sequence. Because of this, MailViewer may show the body of one (cached) message with the header of the selected header.
    Workaround Removing the cache will clear this issue up. The cache of messages is kept in a directory called CachedMessages for each mailbox in an account. For example, if you have an account setup with an account directory of ~/MailAccounts/IMAPAccount and you are seeing this issue in the INBOX mailbox, you can remove the directory ~/MailAccounts/IMAPAccount/INBOX/CachedMessages. The next time the mailbox is opened, the cache will be checked for the message and since it no longer exists, MailViewer will retrieve it from the server.
    Issue List of message may get out of sync with IMAP server if multiple clients accessing the same mailbox
    Description When multiple clients access IMAP mailboxes simultaneously, the IMAP server generally notifies all clients about the changes. Unfortunately not all servers do this. As a result, the message attributes such as whether a message is read or deleted may not properly get updated when changes are made from a different IMAP client.
    Workaround Either closing and reopening the mailbox or choosing the Mailbox->Rebuild Mailbox menu item should resynchronize the message list.


Document Information
Product Area: Mac OS System Software
Category: Mac OS X Server
Sub Category: General Topics

Copyright © 2000 Apple Computer, Inc. All rights reserved.