MailMate only allows emails to be written using a plain text editor. It is important to understand that this is a feature of MailMate. It might even be its most defining feature. If you are skeptical or simply don’t understand what it means then I ask you to at least read the following to get an idea of what MailMate can do despite what might seem to be a limitation at first.
Plain text is whatever text you can write with your keyboard. This means that you cannot visually emphasize words, create outlines, create links, and insert images within the text editor itself, for example, by clicking buttons. Instead, you can (optionally) use the simple Markdown syntax. This is then automatically converted by MailMate to HTML which is the (unofficial) standard for rich text emails. MailMate automatically shows you a preview of the email and this is what most recipients of your emails are going to see.
Even though MailMate uses plain text in its editor, it can still handle HTML generated by any other email client when replying and forwarding. This is done by embedding the original HTML of the received email without allowing you to edit it. The editor shows you a plain text variant of the HTML within its text editor. Note that if you do try to edit this then MailMate offers you to drop the corresponding HTML. This is useful when the original HTML is not really needed.
The default behavior of MailMate should work well for most users, but there are plenty of options in the Composer preferences pane. Most notably, you can tell MailMate to use a specific theme for styling your outgoing emails. It’s also possible to enable code syntax highlighting and the automatic generation of math expressions. Furthermore, signatures can be configured to have any kind of HTML based variant and you can even bind a specific theme to a signature. In fact, it’s not unlikely, and perhaps a bit ironic, that MailMate is the most HTML capable email client in existence.
Finally, note that MailMate does not restrict you to using the built-in text editor. If you already use a text editor for other purposes then you can also use it to write your emails (see the Bundles preferences pane within MailMate).
Staples MailMate Junk Mail Shredder. Features: Shreds 10 folded paper sheets, CDs/DVDs, credit cards, staples & small paper clips; Heavy Duty Cross-cut: 51-100 uses per day; Finish: Stainless Steel/Black; Light weight, pull-out bin and rubberized handle make emptying easy; Basket Capacity: 1.5 Gallons (5.5 Liter) Overload Protection with Auto. Tools and Supplies. You will need the following tools and supplies for this project: Screwdriver. I suspect that the MAILMATE is designed for someone who intends to shred junk mail, daily, but not more than an average household's daily delivery of useless and wasted paper. On the positive side, the small versions of the MAILMATE are amongst the sleekest and most compact on the market.
To get started with MailMate, you need to configure one or more IMAP accounts. If you have any IMAP accounts configured in Apple Mail or Thunderbird then an importer window should open when you first started MailMate. Alternatively, it can be opened manually in the File menu where you can also find the menu item for manually adding an account (“File ▸ Add IMAP Account…”). There is an Activity Viewer (⌥⌘0) to help debug server problems.
The following is a list of things you should try in MailMate. For more information, follow the link in the title of each item. Also note the tips displayed at the bottom of some of the windows in MailMate. Alternatively, there’s a page of screenshots available.
Go through the list of mailboxes in the mailbox outline. Note that the standard mailboxes (like Inbox) are universal which means that they include messages from standard mailboxes in all IMAP accounts configured. Double-click any of the smart mailboxes in order to see how they are configured in the mailbox editor. Play with the possible selection of header values and the comparison methods and notice that “rules” can be added to any kind of mailbox.
Try double-clicking names, subjects and other fields in the outline in order to quickly search for related messages. Note the available set of columns (right-click the column headers line) and how you can choose to make the currently displayed columns the default set of columns. Also look through the Messages menu, in particular, note the “Move to Mailbox…” (⌥⌘T) menu item.
Try both the compact mode which typically only takes up a single line and an extended mode with full standard headers (see the “View ▸ Headers” menu). Note that you can click on almost any part of the displayed headers in order to make a related search (hold down ⌥ to search in the current mailbox only). Also note the context sensitive menu.
Opening messages
Messages can be opened when selected in the mailbox by hitting enter or ⌘O. When multiple messages are selected, they will open in one window. To make them open in separate windows, add the shift key (⇧⌘O).
Messages are displayed using a standard WebView. HTML is generated for plain text messages and it is styled using CSS. Note that you can change the font and/or the font size using the “Format ▸ Fonts” menu item (the same is true for mailboxes, messages outline, and the composer). Searching within a message is similar to Safari (⌘F). Note that you can preview attachments with Quick Look (⌘Y). You can open a tag editor by hitting T
on the keyboard (setup tags in the Tags preferences pane).
Go to the “View ▸ Layout” menu and play with the alternative layouts currently available for MailMate. The Correspondence layout allows you to immediately see any messages in any correspondence similar to the currently selected message(s). The Statistics layout replaces the message display with a simple tableview listing the frequency of any message header. You can use this to easily find out who writes most often, what is the most popular email client, how many messages you have received per year and so forth. You can even combine these searches by double-clicking items. The Thread Arcs layout provides an alternative view of threads.
MailMate can integrate with a large number of third party applications including task managers, calendar managers, and external text editors. Go to the “Bundles” preferences pane and enable the applications you use and then look for new functionality in the Command menu. Bundles are dynamically fetched and updated by MailMate independently of updates of MailMate itself.
In the Preferences (⌘,) you can setup both dock and menu bar counters. Each menu bar counter includes a submenu with up to the 10 most recent messages related to the counter. Various actions are also available in these menus allowing you to archive, delete, reply, or mark messages without switching to MailMate first. Selecting a message brings you to the relevant mailbox. Note that sounds for the counters can also be configured.
MailMate uses a plain text editor in the composer, but this does not mean that you cannot make nicely formatted messages. Using Markdown, a simple readable plain text markup language, you can make MailMate generate HTML for your messages with lists, tables, code segments, inline images, and more. MailMate is also capable of embedding arbitrary HTML messages when replying to or forwarding emails. The default settings should work well for most users, but this is also highly configurable in the Composer preferences pane.
The support for signatures in MailMate is unconventional and deserves special attention. When writing a new message, the signature used for the message (by default) is based on the history of messages sent to the main recipient of the message. If no such history exists then the default signature is based on the history of the from address. It is a simple system, but it works remarkably well. If needed, arbitrary HTML signatures can be configured and it’s even possible to bind a specific theme (used for styling HTML) to a signature.
Menus
More features are hidden in the menus. Make sure you notice the “Message ▸ Mute” menu item which is very useful for mailing lists. When a message is muted MailMate automatically handles any reply to the message arriving in the future (muting it and moving it to the same location as its parent).
The search field in the toolbar can be activated using ⌥⌘F and closed/cancelled using “⌘.” or the escape key. It supports a simple syntax for searching the most interesting messages headers and the body, for example, receipt f amazon t freron
would find all messages containing the word receipt
sent from an address containing amazon
and to an address containing freron
. The toolbar also contains a “Thread” button and a “Correspondence” button. These can be used to expand a search to include related messages. Also note the arrows for going back (⌘[) and forward (⌘]) in search history. This is similar to using a web browser.
For advanced searching you should try out “Edit ▸ Find ▸ Mailbox Search…” (⌃⌥⌘F). This opens a filter editor within the main window which is very similar to the Conditions pane in the mailbox editor. Note that you can hold down ⌥ to create advanced All/Any conditions. This view differs from the mailbox editor with respect to empty values – such filter rules are ignored when searching. Push “Save” if you want to save a search as a Smart Mailbox.
Whether or not you decide to use MailMate then you may want to follow future development. Here are some links to make that easier:
MailMate is able to import IMAP accounts from Apple Mail and Thunderbird. You can do this using the “File ▸ Import Accounts…” menu item which opens a window showing you all importable accounts available.
Alternatively, you can use the “File ▸ Add IMAP Account…” menu item. This opens a window in which you can manually configure an IMAP account. You may find Apple’s Mail Assistant helpful if you do not know the server settings. If you need to edit or delete an existing account then use “Mailbox ▸ Edit Source…” or “Mailbox ▸ Remove Source” after selecting the account under SOURCES in the mailbox list. You can also reorder your accounts under Sources. This ordering is used whenever MailMate needs to display a list of accounts.
The configurable values are as follows:
Description
The name used to reference the account in the interface, e.g., in the mailbox outline.
Full Name
The name you would like to use for outgoing messages.
Email Address(es)
A comma-separated list of email addresses used for the account. Note that you should only add the addresses which you often use for new messages. These addresses are shown in a popup in the composer window, but the popup also allows you to customize the address. When replying to a message, MailMate automatically tries to use the email address for which the original message was sent. This does not require the address to be explicitly declared in the settings, but it does require an “Address Pattern” as described below.
If needed, an alternative name can be assigned to each address. Here is an example: “address1@example.com, Other Name <address2@example.com>”. The first address would be paired with the full name specified for the account, but the other address would be paired with the explicitly given alternative name: “Other Name”.
Address Pattern
This is an advanced feature for users with many email aliases. It allows you to tell MailMate the format of email addresses used for the account without listing them explicitly. Using this information MailMate can analyze the headers of an incoming message and automatically derive an appropriate address to be used for the default “From” address in a reply. This is combined with the “Full Name” specified above. The value used for this option must be a so-called regular expression. Example values are:
Regular expression | Description |
---|---|
address1@example.com |address2@example.com | An explicit list of alternative addresses |
address[0-9]*@example.com | Any address with an arbitrary suffixed number such as address123@example.com |
username+.*@example.org | Any address with an arbitrary plus-suffixed string such as username+private@example.org |
mm-.*@freron.com | Any address with mm- prefixed such as mm-dummy@freron.com |
IMAP Server / User Name
These are the most important settings. In most cases you do not need to define the port and unless you have very good reasons to do so then you should not disable the requirement for SSL (encryption of data sent via the connection to the server). Read further below for more information about subscriptions.
SMTP Server / User Name
The settings used for outgoing messages. Multiple accounts are allowed to share the same SMTP server. Use -
as username to tell MailMate that you want to skip authentication (anonymous SMTP). This is not supported by most SMTP servers.
Require SSL
This setting ensures that the connection to the server is encrypted. You must have very good reasons to disable this setting since an unencrypted connection is an easy target for man-in-the-middle attacks.
OAuth2
Some servers support an authentication scheme known as OAuth2. In short, this requires that the user logs into a website and explicitly allows MailMate to access the service. A special token is then returned which MailMate can use to authenticate when connecting to the server. Enabling OAuth2 in the settings only means that MailMate uses this authentication method if it’s available. Currently, this only works with Gmail and Outlook accounts. Use “Help ▸ Send Feedback” if you have access to a different server with OAuth2 support.
MailMate can also be told to recognize email addresses as belonging to the user while never using these addresses for any address headers. No GUI exists for this feature yet. You must manually add retiredAddressPattern
to this file: ~/Library/Application Support/MailMate/Identities.plist
.
If you are migrating from an email client with support for IMAP then the easiest way to migrate is to ensure that all of your messages are located on IMAP servers.
If you are migrating from a POP3 only email client then you can try the “File ▸ Import Messages…” menu item in MailMate. You are then asked to chooses files or folders to import, and you also need to specify an IMAP mailbox to be used as the root for the imported messages. MailMate imports the following:
.eml
, .msgd
).emlx
).mbox
)MailMate uses names of mbox files and names of folders in the hierarchy scanned to create a hierarchy of IMAP mailboxes.
Note that the file extensions noted above are currently hardcoded, i.e., MailMate ignores all other files.
The IMAP standard includes the concept of mailbox subscriptions. In short, the server maintains a list of subscribed (and unsubscribed) mailboxes. If your IMAP account is part of a webmail client then you can also use this subscription state to avoid fetching all mailboxes available in the web based interface. This is particularly useful for handling Gmail.
MailMate goes one step further with respect to mailbox subscriptions and adds the concept of client-side subscriptions as opposed to the server-side subscriptions described above. Client-side subscriptions are maintained locally by MailMate. This has the advantage that you can can use MailMate for a selected set of mailboxes and still have other mailboxes appear in other email applications, or in MailMate itself on another machine. It can also be used for handling Gmail accounts as an alternative to server-side subscriptions. Currently, it is not possible to subscribe to a mailbox client-side if it is not subscribed server-side.
Note that some email clients do not (and cannot be configured to) respect server-side subscription states and simply synchronize all mailboxes in the personal namespace. Therefore you cannot unsubscribe a mailbox in MailMate and then expect it to work for all other email clients as well.
When you look under “SOURCES” in the mailbox list then you might see one or more accounts in a greyed out state. This means that the account is not online. When this happens then a state string is shown in parentheses. These should be interpreted as follows:
State | Description |
---|---|
Offline | This should only happen if the account was explicitly taken offline by the user. You can take it online in the “Mailbox” menu. Individual mailboxes within an account can also be taken offline. |
Disconnected | The system tells MailMate that the server is unreachable. This is not always correct and therefore MailMate is still going to occasionally try to connect. This mostly happens when there is a network issue or the machine is offline. |
Unavailable | Similar to “Disconnected” but it’s not the system that claims the server is unreachable. MailMate will automatically try to reconnect later. |
Failed | Some persistent issue with a response from the server has triggered the account (or possible just a single mailbox) to enter the “Failed” state. |
Throttled | Some servers throttle traffic when a lot of bandwidth is used, especially when initially synchronizing an account. MailMate automatically waits a bit before continuing the synchronization. This works for accounts using the [THROTTLED] response code. Currently this only means Gmail. |
Whenever something is failing then the “Activity Viewer” (⌥⌘0) can be used to learn more. Logging is enabled whenever the window is open and the log of each connection can be viewed in the lower part of the window.
The “Mailbox” menu has a “Synchronization Schedule” submenu which can be used to tell MailMate when to synchronize the emails in a given mailbox. If a mailbox has not been configured to use a specific schedule then it uses the schedule of its parent mailbox. This also means that setting a schedule on the account itself works as a default for the entire account. The INBOX
is special since it always defaults to using the “Connected” state.
Schedule | Description |
---|---|
Connected | The connection to the mailbox is never closed and therefore new messages and other changes should be detected immediately (depending on server behavior). This is also known as IMAP IDLE. You should not have more than 2 or 3 mailboxes using this schedule in a given account. |
Every … | MailMate checks the mailbox on a regular basis ranging from 5 minutes to 1 hour. |
Manually | The mailbox is not checked on a regular basis. |
In any case, an IMAP mailbox is always synchronized when it’s selected or if there exists any client side changes which need to be synchronized with the server. The only way to prevent synchronization completely is to take the mailbox offline.
MailMate aims to support all standards compliant IMAP servers and as many non-standard IMAP servers as possible. One of the non-standard IMAP servers is the one provided by [Gmail][] (Google’s free webmail service). Its name is Gimap. The following explains how Gmail works via IMAP and how MailMate handles it. You only really need to know the following if you use labels in Gmail like you would use tags in other applications. Otherwise, you just need to know that MailMate works well with Gmail.
The official IMAP email client instructions from Google can be found here. There’s also a technical page describing how Google thinks of Gimap as an extension of IMAP. The truth is that it is more like a replacement. It has to be emphasized that it does not behave like a standard IMAP server which is also why it has a special section in this manual.
MailMate encourages the use of a single mailbox for archiving messages (for each IMAP account). This concept is similar to the “All Mail” mailbox in Gmail, but unfortunately it is not quite the same thing. With MailMate, a message is not in the “Archive” mailbox unless it has been explicitly archived. With Gmail, a message is (almost) always in “All Mail” and is simply removed from the “Inbox” when it is archived. In other words, with Gmail, the same message can be in multiple IMAP mailboxes. This is even more apparent when using labels (or starring messages).
IMAP does not support the Gmail model. If a message needs to be in multiple mailboxes then it must be duplicated. Instead, IMAP supports so-called keywords (flags), but Google decided to not use these for labels. The main reasons (good or bad) are probably that IMAP keywords are/were not well supported by many email clients and that it would require users to manually setup smart mailboxes for all their Gmail labels. Google chose a different approach which can be best described as a hack.
Each label in Gmail becomes a real mailbox when accessing the messages via IMAP. Existing email clients do not expect this and the result is that each message is fetched multiple times, once for each of its labels. Even if not using labels, the problem persists since every message in Inbox, Sent Mail or Drafts are also located in All Mail. In MailMate it becomes even worse because of the special “All Messages” virtual mailbox which is going to include all the duplicates.
Fortunately, MailMate can work around this problem.
If you click “Edit Subscriptions” in the IMAP account editor for a Gmail account then you might notice that “[Gmail]/Starred” and “[Gmail]/Important” are unsubscribed. It is important to keep it that way. The starred emails are equivalent to flagged emails. If you need the “Important” emails then you must setup a tag in MailMate to match the special Important
Gmail label.
The “[Gmail]/All Mail” mailbox might also be unsubscribed, but this is optional. If you don’t subscribe to it then there’s is likely going to be emails on the server which do not appear in MailMate. If you do subscribe to it then MailMate will do its best to only synchronize the emails which do not exist in any of your other Gmail mailboxes (in order to avoid duplicates in MailMate). It’ll also be used as your “Archive” mailbox when it is subscribed. Otherwise, a new mailbox named “[Gmail]/Archive” is created and used as the archive mailbox.
Here comes the important part. Gmail labels falls into two categories:
If you go to the Tags preferences pane in MailMate (⌘,) then notice the “Gmail Label” column. This can be used to tell MailMate to consider some tag name to be equivalent to a specific Gmail label. This has the following consequences:
The end result of all this is that Gmail accounts and IMAP accounts can nicely co-exist without MailMate becoming a Gmail email client instead of an IMAP email client. You must subscribe to “[Gmail]/All Mail” for this to work when the labelled emails do not exist in any other mailboxes.