MailMate Changelog

What's new in MailMate 1.11.3 Build 5509

Jul 18, 2018
  • Changed: Reverted back to the old code for expanding Contacts groups since Apple’s “new” Contacts framework does not seem to support distribution lists.
  • Changed: The “delete” key works when focus is in the mailbox list.
  • Fixed: The previous release did not properly include the intended version bump to 1.11.3.
  • Fixed: Autolinking plain text URLs in HTML was broken.
  • Fixed: Issue with some custom key bindings in the Composer (related to the status bar).
  • Fixed: “Synchronize All” menu item was broken in recent releases.
  • Fixed: Detect when the image blocking mailbox configured no longer exists.
  • Fixed: Editing existing date-conditions with “exists/not exists” was broken.

New in MailMate 1.11.2 Build 5479 (Apr 25, 2018)

  • New: Rules can be reordered. Hold down ⌥ to copy.
  • New: Rules can be dragged to other rule lists. Hold down ⌥ to copy.
  • New: Rules can be hierarchical (use drag’n’drop to make subrules or use the new actions menu).
  • New: Rules work with cut/copy/paste.
  • New: Rules can be deleted using the delete key.
  • New: A rule can be edited using the return/enter key.
  • New: Undo/redo works for rule reordering/dragging/cutting/pasting/deleting.
  • New: Actions menu in the rule editor which includes “Duplicate” and “Add Subrule…” menu items.
  • New: Boolean setting includeSubmailboxMessages = 1; can be used by manually editing Mailboxes.plist. A GUI for this feature is going to be added later.
  • New: Hidden preference MmAutomaticallyExpandThreadsEnabled (experimental).
  • New: Hidden preference MmAutomaticallyExpandOnlyWhenCounted (experimental).
  • New: If MmReplyWroteString is quoted then the following blank line is also quoted.
  • Changed: The description is no longer editable in the list of rules. Double-click opens the rule editor.
  • Changed: Added tooltip for the “Type” column in the rule editor.
  • Changed: New icon for the Expunge toolbar button such that it differs from the trash icon. (Thanks to Matt Petrowsky.)
  • Changed: IMAP code now able to cancel deleting messages when the messages are, for example, in a read only mailbox.
  • Changed: Any text/rfc822-headers MIME parts are now parsed as headers and displayed a bit nicer. This includes decoding the headers.
  • Fixed: Various issues related to collapsing a mailbox with any selected submailboxes.
  • Fixed: Sending a multipart draft could fail to work correctly if the draft had not been opened/viewed during the current launch of MailMate.
  • Fixed: Clicking on an mid: link in the composer preview had the weird and wrong effect of replacing both text view and preview with the linked message.
  • Fixed: Various minor issues and a few rare bad memory access bugs.

New in MailMate 1.11.1 Build 5471 (Apr 10, 2018)

  • New: Hidden preference MmDeleteBehavior: moveToDeletedMessages, markAsDeleted, expunge, archive.
  • New: Hidden preference MmAutomaticExpungeBehavior: mailboxSwitch, never.
  • New: Accounts can be given their own deleteBehavior overriding the global default.
  • New: An Expunge toolbar button (which reuses the trash icon).
  • New: MmRelativeDayDisabled which can be used to disable the use of today/tomorrow in regular date columns.
  • Changed: Improved performance of some types of “is in” conditions when, e.g., moving/deleting emails. This should be very noticeable for some users.
  • Changed: The expungeDeletedMessages: key binding has been improved a bit to more easily allow a menu item.
  • Changed: The IMAP GETQUOTAROOT command has been changed a bit in an attempt to work around an iCloud IMAP bug (only affecting a subset of Apple servers).
  • Changed: Working around an issue with Gmail when sending without the Composer window (scripting).
  • Changed: Increased minimum width of the Tags column to allow at least 1 emoji.
  • Fixed: Improved behavior in low disk space situations (this should fix some rare cases of database corruption).
  • Fixed: Don’t go to the “failed” state if already “offline” for a given mailbox (this fixes a race condition).
  • Fixed: A multipart/related inline image in a reply was not removed when dropping the embedded HTML if HTML was also generated for some other reason, e.g., when using Markdown.
  • Fixed: Removed some redundant conditions used in the default set of standard mailboxes.
  • Fixed: Various minor issues with completion of addresses, e.g., when these are automatically sorted.
  • Fixed: Workaround for unexpected BAD response from some servers with QUOTA support (iCloud).
  • Fixed: Some issues with mixed-case tag completion. Some minor improvements to other string field completions.
  • Fixed: It appears some servers just return NO when asked for quotas on an (existing) INBOX.
  • Fixed: The QUOTA support did not work correctly for IMAP accounts with no INBOX.
  • Fixed: Bug in the “Trial” mode handling.

New in MailMate 1.11 Build 5462 (Mar 15, 2018)

  • New: The conditions pane (also in rules) now have a “Message is” menu and a “Message is not” menu. These have submenus to easily match the “read” state, (colored) flags, and various other frequently used search conditions. It is not new that these searches can be made, but they should be much easier to do now.
  • New: Showing reminder that “Detach Message” is a useful feature when working with multipart/digest messages.
  • New: GUI setting for automatically adding trusted S/MIME certificates to the keychain. This includes telling the user when it happens and warning if a certificate already exists for the same email address.
  • New: A dedicated “Two Panes” layout with no message preview (see the “View ▸ Layout” menu).
  • New: First shot at support for . If the IMAP server supports this extension then MailMate shows the used quota (percentage) in the list of SOURCES.
  • New: The context sensitive menu of an IMAP account (with QUOTA support as described in RFC2087) displays the exact storage quota usage and limit. If multiple so-called quota roots exist then they are shown in a submenu.
  • New: The MmQuotaWarningLevel preference can be used to control when the used quota percentage is shown for IMAP accounts. The default is 80.0.
  • New: If the above fails for one or more servers then it can be disabled completely using MmIMAPQuotaDisabled.
  • New: Forwarding (as an attachment) is now available as a rule action.
  • New: Loop detection for forwarding actions.
  • New: Hidden preference to disable spoof detection (MmNospoofSymbolDisabled). You need a good reason to use this.
  • New: Hidden preference MmComposerUsesScreenFonts.
  • New: Hidden preference only to be used for experiments: MmNeverAllowFormatFlowed.
  • Changed: Major refactoring of all so-called rule editors (mailboxes pane, conditions and rule actions). This should make it much easier to add features to these in the future.
  • Changed: Major refactoring of the internal query system (e.g., used by smart mailboxes). This includes bug fixes and simpler (more robust) code.
  • Changed: Added newline after insertion of a cid: URLs.
  • Changed: The “Send Unencrypted” button is no longer the default (to make it less likely to do it by mistake).
  • Changed: Improved support for tags in the Composer window. Also, the Tags popup button is available for the Composer window.
  • Changed: Tweaked date parser to handle yet another type of invalid date header.
  • Changed: Improved handling of long URLs in encrypted emails.
  • Changed: Image blocking is no longer optional for encrypted emails.
  • Changed: “Set Tag” rule action renamed to “Set Tag/Keyword” to make it clear that it handles more than tags.
  • Changed: MailMate now reports whether or not S/MIME signature certificates are in the keychain and/or if they have recently been automatically added by MailMate (if MmAutomaticallyAddCertificatesToKeychain is enabled).
  • Changed: No longer tries to send via SMTP if a username is provided for an account while the server has no authentication methods available on that port (this can happen for port 25 on some servers).
  • Changed: Disabled some misleading “distortion” in the Composer when Distortion Mode is enabled (distortion mode is not intended to be used with the Composer at all).
  • Changed: MmCommandsIncludeCollapsedMessages is now enabled by default.
  • Changed: Removed an old and unnecessary workaround used when message files cannot be found on disk.
  • Changed: The “Copy to Folder” command is now a bit more flexible with the use of an MmExportPattern preference. A better and more general solution is needed though.
  • Changed: A message marked as both Deleted and $NotJunk no longer blocks image references if the image blocking setting tells MailMate to not block images for $NotJunk messages.
  • Changed: Slightly better at handling the creation of a new uppercase tag like “TODO” when something like “Today” already exists.
  • Changed: Lowered minimum width for the Activity Viewer.
  • Changed: Detect and handle Exchange-style connection throttling.
  • Changed: If changing the “Bcc” header manually then the change sticks even if the sender is changed manually/implicitly.
  • Fixed: “Detach Message” did not work correctly if the message was encoded (using QP or Base64).
  • Fixed: The #nospoof specifier also works for *.name.first and *.name.last.
  • Fixed: Attempt to fix rare crash bug when subscribing/unsubscribing a mailbox.
  • Fixed: Some times MailMate auto-extracted (to be specific, an Apple framework auto-extracted) certain types of files when saving them.
  • Fixed: Some issues with the sharing extension including a crash (after sharing).
  • Fixed: When setting up the displayed tags for the “Tags” toolbar button then it wouldn’t work properly until after relaunching MailMate.
  • Fixed: Disabling a rule action had no effect.
  • Fixed: The “Search with Google” menu item in the message view was broken.
  • Fixed: MmInternalRecipients is now automatically interpreted as being case insensitive.
  • Fixed: Issues with a single letter/symbol at the beginning of the name of an identity (“Email Address(es)” in the account editor).
  • Fixed: Keep the hidden state of views when opening a new mailbox window.
  • Fixed: Crash related to the new non-spoofing code combined with low-level user specifier customizations.
  • Fixed: Somes issues with autolinking HTML messages.
  • Fixed: Added “decade(s)” to date parsing.
  • Fixed: Various security related issues.

New in MailMate 1.10 Build 5443 (Dec 14, 2017)

  • New: Whenever MailMate displays the name part of an email address, any occurence of @ is replaced with 💀. This helps the user spot attempts to spoof an email address.
  • New: #nospoof specifier to use when displaying email address headers.
  • New: Another workaround for Exchange IMAP. Some uploaded messages are rejected with a nonsensical IMAP BAD response. It appears this can be triggered by certain types of encoded headers. MailMate now tries to automatically fix these headers before uploading again.
  • New: Hidden preference to always launch in an offline state: MmInitialOfflineStateEnabled
  • New: Key binding for toggling all accounts offline/online: toggleOnlineStateOfAllAccounts:
  • New: MmStripXMailerBeforeSending
  • New: Optional toolbar buttons to mark unread/read (needs better gfx).
  • New: Experimental scripts for stripping signatures and banners when replying.
  • New: Bundle commands can request attachments (or any other message parts) to be provided as files.
  • New: Bundle commands can return attachments to be included in created emails (both new ones and replies).
  • New: Bundle commands can return actions in JSON format.
  • New: Hidden preference for reply behavior when no text has been selected: MmNoTextForRepliesByDefault
  • New: The primary dock badge counter now looks like other applications. The old style counters can be enabled using MmUseOldStyleCounters.
  • Changed: Printing respects order in the message list.
  • Changed: Single-click can toggle a flag in the message list.
  • Changed: The parser is now “skipping” an email address in the name-part of address headers if it is identical to the real address of the same header.
  • Changed: Now capable of displaying text/x-watch-html if explicitly told to do so (using “Previous/Next Alternative”).
  • Changed: MailMate behaves the same with respect to OAuth2 for imap.outlook.com and imap-mail.outlook.com. The same goes for smtp.
  • Changed: Renamed runScript to runCommand for bundle command actions since this was more accurate.
  • Changed: If possible, MailMate now deselects a mailbox before renaming. This works around an iCloud IMAP bug for the IMAP RENAME command.
  • Changed: Renaming mailboxes is now a bit more robust when mailboxes are in an unexpected state (various combinations of subscribed/created).
  • Changed: Minor optimization to avoid the overhead of single-line bash-scripts in commands.
  • Changed: Added script for more easily creating a new bundle (SharedSupport/bin/create_bundle).
  • Changed: Added tooltip for very long attachment names in the Attachments popup in the Composer.
  • Changed: Collapsed thread still shows attachment icon in message list if any attachments exist in the thread.
  • Changed: An outlined flag is now shown when a collapsed thread contains one or more flagged messages.
  • Changed: The correspondence outline no longer includes unexpanded children when, e.g., archiving – except if the correspondence outline is focused.
  • Changed: Updated the embedded command for parsing tnef files.
  • Changed: Optimized some date related computations (this should make date-based smart mailboxes much faster).
  • Changed: Sending to a group (Contacts) works when done with a mailto: URL. This includes when it’s done using the “Send…” menu item in Contacts.
  • Changed: “Last of Thread” also works when multiple messages are selected (a bit random though).
  • Changed: Log when a key bindings file cannot be loaded or parsed.
  • Changed: Using MmAdditionalComposerHeaders now also affects the set of allowed headers when constructing new messages, e.g., using a mailto: URL or emate.
  • Changed: Blacklisting now also allows blacklisting a specific name/address combination.
  • Changed: Switched various text fields to single line mode.
  • Changed: Undo/Redo now works for attachments added in the Composer.
  • Changed: Added warning when pasting in the Composer results in attaching one or more files.
  • Changed: Attempt to detect and handle when Outlook accounts go into a throttled mode.
  • Changed: The internalAddressPattern is now case insensitive by default.
  • Fixed: Consistently use script instead of command in the included commands/filters.
  • Fixed: The parser now handles the Mailsploit test cases.
  • Fixed: Small improvement to avoid the cancellation of HTML signature insertion in the preview.
  • Fixed: An issue with extraneous whitespace above an HTML signature in non-Markdown mode.
  • Fixed: Wrong “shebang” in some of the included bundle commands.
  • Fixed: Some layout and coloring issues in the mailbox editor (High Sierra).
  • Fixed: Improved parsing of email client version strings.
  • Fixed: Behavior of goToMailbox: when having an active search – and some related focus issues.
  • Fixed: The mailto: handler skipped the body argument.
  • Fixed: Group names (from Contacts) in the Composer were forgotten if closing/sending without first hitting return.
  • Fixed: Issue in the message preview in which the HTML signature was some times not shown.
  • Fixed: Attempt to prevent a rare crash when updating the preview after changing sender.
  • Fixed: Various issues in the Tags preferences pane.
  • Fixed: Some issues with auto-scrolling the preview related to code/math segments.
  • Fixed: An issue on 10.8 with opening the Rules pane.
  • Fixed: Case sensitivity issue for blacklisting email addresses.
  • Fixed: Scrolling did not work well in text fields when editing conditions.
  • Fixed: The “Mailbox ▸ Edit Rules” menu item often failed to do what it was supposed to do.
  • Fixed: Crash bug when renaming accounts.
  • Fixed: Attempt to fix a problem with a crash while quitting.
  • Fixed: Closing the single message window automatically did not work for “Move to/from Junk”.
  • Fixed: Spotlight and the custom location feature now use relative paths. The previous approach would lead to problems if the username of the account was changed.
  • Fixed: Some issues with the Spotlight importer and the sharing extension on High Sierra.
  • Fixed: MmOpenMessageURLInContext also works when opening .eml files.
  • The bump to version 1.10 (instead of 1.9.8) is motivated by the fact that there has been a lot of improvements to MailMate since version 1.9 was released in March 2015, but the version numbers have not reflected this. It would have been nice to bump it to 2.0, but MailMate is just not ready for that yet.

New in MailMate 1.9.7 Build 5419 (Sep 22, 2017)

  • Highlights:
  • Improved single message window behavior. It is now “connected” to the main window such that undo/redo behavior is better and features (key bindings) such as “Move to Mailbox…” work as expected.
  • The “Apply Rules” menu item is now a menu which allows applying rules to either selected messages or the entire mailbox.
  • “Export ▸ Copy to Folder” command which exports .eml files into a folder hierarchy matching the original accounts. Duplicates are automatically avoided and the command can be used as an action in mailbox rules.
  • Internal changes to provide an action for bundles which allows changing header values of existing emails. This feature is currently used to implement “Command ▸ MailMate ▸ Change Subject”.
  • Email addresses can now be blacklisted such that they are not used for completions in the Composer.
  • Low-level, the message list supports coloring and styling lines. This feature is described in more detail here.
  • Numerous new hidden preferences for users that like to tinker with the details.
  • Manual pages updated to include some of the previously undocumented features.
  • Improved behavior for various problematic IMAP servers including Gmail and Exchange IMAP.
  • Uses the IMAP RENAME command when an IMAP mailbox is renamed (also when a hierarchy is involved). This is both more robust and more efficient than before.
  • Now doing Gmail “OAuth2” authorization through an external browser.
  • Improved composer text view including fixing various display issues.
  • Improved autoscroll in the composer preview.
  • Improved and fixed S/MIME handling which now also allows separate certificates for signing/encrypting.
  • Improved behavior for window tabs on Sierra and later macOS versions.
  • Fixed various issues on High Sierra.

New in MailMate 1.9.6 Build 5307 (Nov 26, 2016)

  • New: “Edit ▸ Add Link” menu item (⌘K). Inserts Markdown code to create a link based on the current word. Also inserts a URL if it’s on the pasteboard.
  • New: URL scheme for doing toolbar-like searches: mlmt:quicksearch?string=s mlmt
  • New: “New Message With Attachment” and “Copy Attachment” in the context sensitive menu for an attachment.
  • New: MmSMTPFixedHostname
  • New: MmCreateCIDURLForImageAttachments can be used to disable the insertion of a cid: URL for images. Holding down ⌥ reverts the behavior whether or not this setting is enabled or disabled.
  • New: MmWindowTitleFormatString
  • New: Use ignorePermanentFlags=1; to ignore the PERMANENTFLAGS response for a specific server (for buggy servers). This is very experimental and did not fully solve the issues with the problematic server.
  • New: A userDefaultsIdentifier option for message lists/outlines. This can be used to get separate font settings when having multiple message lists in a layout.
  • New: MmDisableThrottleDetection (for debugging purposes)
  • New: Added MmSOCKSProxyDisabled in a simple attempt to work around an issue with proxy settings.
  • Changed: Generation of the HTML alternative for plain text (non-Markdown) messages is now handled using a dedicated script. For compatibility reasons this uses whitespace:normal and instead of . This should resolve various issues when corresponding with Outlook users.
  • Changed: The insertText: specifier works when the toolbar search field is focused. This can be used to make shortcuts to pre-fill the toolbar search filter: "f" = ( "searchAllMessages:", "insertText:", "f " )
  • Changed: Undoing move actions now re-selects messages if they exist in the current mailbox.
  • Changed: Show a tooltip for very long attachment names.
  • Changed: Now sanitizes headers before retrying an upload if the server rejects an uploaded message. This is a quick workaround for a FastMail issue concerning badly formatted emails.
  • Changed: The compact header view format now indicates when a message has one or more non-identity recipients.
  • Changed: “Seen” IMAP keyword changed to “Seen (Read)” to make it a bit more obvious that it’s the same thing.
  • Changed: Better at deriving a received date in unusual messages with no Date header and multiple Return-Path headers.
  • Changed: Workaround for buggy Sanebox emails. Now ignores non-text alternatives in a multipart/alternative if they have a Content-ID.
  • Changed: Workaround for wrongly formatted signed/encrypted emails (most likely caused by Exchange SMTP servers).
  • Changed: More gracefully handle an otherwise rare unresolved issue with missing message flags for messages to be uploaded.
  • Changed: Attempt to be a bit smarter when looking for Apple Mail accounts.
  • Changed: Don’t crash when failing to convert text for a reopened draft.
  • Changed: The Cancel button is no longer the default button in the OAuth2 window.
  • Changed: Using the Boyer-Moore algorithm for some types of string search.
  • Changed: OAuth2 behavior changed a bit to work better when a password has been changed.
  • Changed: Improved sorting of the Source Mailbox column.
  • Changed: Now saves a draft if the user attempts to print it. Otherwise, the most recently saved version of the draft would be printed.
  • Changed: Improved parsing of Message-ID response from a name.com IMAP server (more gracefully handling a somewhat schizophrenic response).
  • Changed: Less greedy identification of subject prefixes. It’s also configurable if needed, but this is undocumented for now.
  • Changed: Handle buggy Content-Transfer-Encoding headers which contain more than a single word (simply handled by ignoring anything but the first word).
  • Changed: Single click in the “Move to Mailbox” window no longer moves a message.
  • Changed: Minor improvement when SMTP EHLO fails with a timeout.
  • Changed: Using copy/paste with email headers now includes the colons.
  • Changed: Updated account importer to read the correct database file on Sierra.
  • Changed: The “List” format is now the default for the headers view.
  • Changed: Resizing the headers view some times resulted in parts of the headers view being hidden.
  • Changed: Improved sanitation of the (optional) email addresses setting used for signatures.
  • Changed: Added an icon to the Counters preferences pane.
  • Changed: Better debug output when timing out during an SSL handshake.
  • Changed: SMTP code slightly better at retrying before reporting an issue.
  • Changed: Always show link targets even if it matches the displayed string.
  • Changed: Display multipart/related subparts if they are not referenced by the main part or if the main part is not text/plain. Works around various buggy email sending software.
  • Changed: Only skip inlining a stylesheet when it’s not part of the HTML . This should help handle some types of Outlook messages.
  • Changed: Some toolbar icon titles and tooltips.
  • Changed: Auto-display the accessory view (options) in the file panel shown when importing messages.
  • Changed: Mac OS X to macOS.
  • Fixed: Improved the use of tracking rects for thread arcs of large message threads.
  • Fixed: Various scrolling and font related issues. This should also make switching focus to the message list faster.
  • Fixed: Now trimming whitespace in front of bracketed email addresses. This could otherwise be a problem when creating replies.
  • Fixed: Distorted numbers now stay fixed when scrolling the message list.
  • Fixed: Increased column width such that emojis in the tags preferences pane are correctly displayed on Sierra.
  • Fixed: Related message parts were shown too often when emails were structured like this: multipart/related { multipart/alternative { { text/plain text/html } image/png } }.
  • Fixed: Issues indexing HTML message parts. In particular, -based HTML.
  • Fixed: An issue with generating emails (replies or forwards) based on selected text.
  • Fixed: Handle the (apparently) non-standard Hebrew iso-8859-8-i encoding by treating it as iso-8859-8.
  • Fixed: Various text decoding issues.
  • Fixed: Saving a search as a smart mailbox frequently failed.
  • Fixed: Issue with text attachments for which only the last line is very long and it has no newline character.
  • Fixed: Wrongly removed empty lines when displaying plain text emails or generating HTML for plain text emails.
  • Fixed: “Message ▸ Open in Apple Mail” failed for some types of incorrect Message-ID headers.
  • Fixed: Various issues with HTML embedding when forwarding HTML messages with attachments.
  • Fixed: “Edit as New Message” did not work correctly for inlined attachments.
  • Fixed: Crash bug related to handling drafts with multiple HTML embedded segments.
  • Fixed: Improved display of signed and/or encrypted HTML messages.
  • Fixed: Issue with the choice of Drafts mailbox (and implicitly SMTP server) when an identity could not be derived and an explicit one had not been configured.
  • Fixed: Issue with MailMate opening a new mailbox viewer when clicking on a notification (without holding down the command key).
  • Fixed: Bug in workaround for servers with no support for UIDPLUS when moving messages.
  • Fixed: For some servers, MailMate would try to setup encryption twice and this would fail.
  • Fixed: Shortcuts for the layout menu should now work more reliably.
  • Fixed: The initial state of the Preview toggle in the toolbar.
  • Fixed: Various issues related to toggling the preview in the Composer.
  • Fixed: The checkmark button for disabling an HTML signature did not work.
  • Fixed: Working around an issue with increasing connection timeout values.
  • Fixed: Account importer issue where the SMTP server gets an IMAP hostname.
  • Fixed: When using the “View ▸ Headers” menu, MailMate did not remember the most recently used format (which is used when viewing mailboxes with no explicitly chosen format).
  • Fixed: HTML code some times leaked into the headers view.
  • Fixed: Performance issue with displaying large HTML messages.
  • Fixed: Drag’n’drop emails to the Finder on Sierra.
  • Fixed: Visual glitch when using Find (⌘F).
  • Fixed: Workaround for some IMAP servers did not work well when multiple messages failed to be fetched at the same time.
  • Fixed: Infrequent crash when using the context sensitive menu in the messages outline.
  • Fixed: The junk toolbar button was not disabled when no messages were selected.

New in MailMate 1.9.5 Build 5263 (Sep 15, 2016)

  • This is a major update even though the version bump is minor. The following is a list of all changes since the latest public release (1.9.4, March 15th):
  • New: Added “MailMate ▸ Registration ▸ Become a MailMate Patron…” menu item (only enabled for registered users).
  • There are numerous HTML/Markdown related changes. Most of the new options are documented in the Preferences documentation (“Help ▸ MailMate Help” menu item):
  • New: Options for embedding HTML when replying/forwarding (Composer preferences pane).
  • New: Option for a default HTML generation theme (Composer preferences pane).
  • New: Option for a signature related HTML generation theme (Signatures preferences pane).
  • New: Option for enabling math styling using ASCIIMath or TeXMath (Composer preferences pane).
  • New: Option for enabling code styling using Pygments (Composer preferences pane).
  • New: Added MmDefaultCSS for global css changes – could be used for explicit fonts, but it’s not recommended.
  • New: Markdown syntax can be used while MailMate still treats quoted text as plain text.
  • New: “Format ▸ Bold/Italic” menu items which inserts/removes Markdown syntax to emphasize text.
  • New: Updated default look of outgoing emails. Introduced alternative “Simple” theme to let users get the old style.
  • New: Setting to set a default display theme (Viewer preferences pane).
  • New: Added some default stylesheets for viewing/composing emails (they vary very little for now).
  • New: Setting to force MailMate to always generate HTML (useful if a theme always needs to be applied). This is disabled by default – as it should be.
  • Other changes:
  • New: MailMate icon replaced (designed by Eli Schiff).
  • New: Toolbar icons (designed by Eli Schiff).
  • New: Support for tags and colored flags in the toolbar.
  • New: The (optional) Tags toolbar item can be configured to show multiple tag buttons.
  • New: Flag and Tags menus both in the main menu (Messages) and the context sensitive menu.
  • New: The old text-based toolbar is still available using this hidden preference: defaults write com.freron.MailMate MmUseOldToolbar -bool YES
  • New: Hidden preference named MmToolbarFlagStrategy. Possible values are none and mru (the latter is “most recently used” and is the default).
  • New: Composer preferences to control what is used to complete email addresses.
  • New: Network code now uses CFNetwork instead of OpenSSL. This implicitly means proxy support (System Preferences), IPv6 support, and TLS 1.2 support.
  • New: Redesigned headers view (using a WebView now).
  • New: GUI setting to control when the Composer preview is shown. Options are “Always”, “when generating HTML”, and “never”.
  • New: Context sensitive menu for addresses in the recipient fields of the Composer.
  • New: Menu items to explicitly apply SpamSieve to the selected messages (see the “Message > Junk State” menu).
  • New: Hidden preference MmNeverInlineAttachments
  • New: Identities now support retiredAddressPattern which can be used to tell MailMate to recognize addresses without ever using them for From/To headers.
  • New: Key bindings selectPreviousCountedMailbox:/selectNextCountedMailbox: which can be used to skip to the next, e.g., unread mailbox.
  • New: Added centerSelectionInVisibleArea: for the mailbox/message lists (bound to ⌃L by default).
  • New: Preview toolbar button in the Composer.
  • New: LDAP code now supports the searchFilter option.
  • New: MmSourcesAboveMailboxes (stop-gap temporary solution for users wanting sources above mailboxes).
  • New: Added MmFollowUpBasedOnAddressOnly (when checking for follup messages then MailMate ignores differences in the sender name).
  • Changed: Now showing an error window (instead of crashing) when failing to set attributes on a file.
  • Changed: By default, no longer allowing cross message CID: urls.
  • Changed: Quickly reduces fetching to a single message per request when fetching a set of emails fails.
  • Changed: Default toolbar items (also added more toolbar items).
  • Changed: Logs the SSL/TLS protocol used for all connections (CFNetwork).
  • Changed: New default look of inlined code segments.
  • Changed: Improved VoiceOver behavior for the header text fields in the Composer.
  • Changed: Date headers now also allow the use of “exists”/“does not exist”. This is useful for the virtual “Date-Last-Viewed” header.
  • Changed: Attempt to, more gracefully, handle Google IMAP throttling.
  • Changed: Display themes force a sans-serif font to work around an issue with an ugly default font setting with Outlook (and maybe other email clients).
  • Changed: Various Markdown related settings removed. Few of them make sense when quoted text can be skipped when doing the Markdown conversion.
  • Changed: Updated the included version of html2text.
  • Changed: If a multipart or message subpart has an unknown encoding then it is now assumed to be 7bit (workaround for some buggy emails).
  • Changed: No longer fetching headers before the bodies of messages. This was error prone and inefficent. It also fixes some issues with smart mailboxes and searches involving message bodies.
  • Changed: An error is now reported by MailMate if using an email address with a non-ASCII username with an SMTP server not supporting SMTPUTF8.
  • Changed: Disabled flowing very long words (~1000 characters) for format=flowed. Instead this relies on the use of quoted printable.
  • Changed: Styles are scoped although that works in almost no email clients – including MailMate ().
  • Changed: Behavior when handling quoted signature separators in format=flowed. Additional prefixed spaces are now allowed.
  • Changed: Redesigned how scripts are used for text conversions. Introduced eventFilters. Moved default scripts to embedded bundle. (Work in progress.)
  • Changed: Default counter colors updated (dock and menu).
  • Changed: Changed message redirection loop limit to 5 instead of 1.
  • Changed: The date header parser is now better at handling weird orderings of date elements.
  • Changed: The flags column can sort colored flags.
  • Changed: Now clearing cookies when doing OAuth2 to make it less likely that the wrong account is used for authentication.
  • Changed: It’s possible to bind the wrong Gmail credentials to a Gmail account when using OAuth2. This and any similar issues now results in MailMate asking to re-authenticate the account.
  • Changed: When getting a new access token (when OAuth2 authentication fails) and it’s identical to the old one then try getting a new refresh token instead. This is an attempt to work around a Gmail issue.
  • Changed: Auto-disable HTML signature alternative if the text field is essentially empty.
  • Changed: When completing email addresses in the composer then don’t suggest addresses already in the header.
  • Changed: Added image-orientation: from-image; to the default stylesheet even though it doesn’t currently work for Webkit.
  • Changed: Copying names and addresses in the headers view no longer includes double quotes.
  • Changed: Refactored “OAuth2” code such that re-authentication should only happen when new access tokens repeatedly fail to work.
  • Changed: Fetching access tokens now happens on a separate thread. This might make MailMate a bit more responsive for some users.
  • Changed: MmDefaultCSS is now appended instead of prepended to the stylesheet.
  • Fixed: Various issues with macOS 10.12 (Sierra).
  • Fixed: Some times after sleep mode and/or being offline, MailMate failed to send all pending messages in Drafts (until relaunching MailMate).
  • Fixed: Very old issue handling non-unique cid: URLs.
  • Fixed: Weird and persistent issue with toolbar icons being 1 pixel off (vertically) on Retina displays.
  • Fixed: Various issues compiling with the 10.11 SDK.
  • Fixed: Some inefficiencies when fetching emails, in particular, if some emails fail to be fetched.
  • Fixed: The composer preview buttons now reflect the current state.
  • Fixed: Various issues using “Find” in the message view. Now also uses third party code to highlight all matches.
  • Fixed: No longer opens tags editor when no messages are selected or a message is not visible.
  • Fixed: More gracefully handling if MailMate somehow gets into a state where some messages exist in non-existing IMAP mailboxes.
  • Fixed: OAuth2 issue for Gmail accounts in the account importer.
  • Fixed: Issues with replying/forwarding some types of HTML-only messages, e.g., created by Outlook.
  • Fixed: Various issues with auto-detection of IMAP/SMTP ports.
  • Fixed: Various issues with header lines containing multiple non-sequential encoded words.
  • Fixed: Headers with a large number of values are now capped at 10 and showing a link which can expand it.
  • Fixed: To/Cc/Bcc buttons in the address panel reintroduced.
  • Fixed: Address pattern can now only be edited when it’s enabled (IMAP account settings).
  • Fixed: Race condition when updating an access token for OAuth2.
  • Fixed: Reencode emails with nil characters (but only if the IMAP server rejects the message).
  • Fixed: Pasting email addresses separated by return characters now works as one would expect (pasting Excel data triggers this issue).
  • Fixed: Toolbar search works (again) in the Statistics layout.
  • Fixed: “Edit Subscriptions” is now able to setup an OAuth2 token.
  • Fixed: Resizing issue with the path control.
  • Fixed: An issue triggered by Xcode on 10.9 and earlier. Various side-effects including no window opened on startup.
  • Fixed: Various issues with certificate/password verification.
  • Fixed: Editing a draft with a modified Bcc header did not work well when using MmDefaultBccHeader.
  • Fixed: Some times connection failures would unnecessarily trigger MailMate to ask for OAuth2 re-authentication.
  • Fixed: Pasting a set of email addresses in the composer could fail if newlines were involved.
  • Fixed: Various (minor) memory leaks.
  • Fixed: Crash related to signature handling in the Composer preview.
  • Fixed: The Share extension now handles links by putting them in the body of the new message.

New in MailMate 1.9.4 Build 5234 (Mar 15, 2016)

  • This public release includes a lot of small improvements and bug fixes. The most interesting changes are various new hidden preferences, including MmSMTPAlternativeEnabled and MmSMTPUTF8Enabled. More information in the manual and in the release notes for the beta releases provided further below.
  • Additional changes after the latest beta release:
  • Changed: Experimental workaround for Exchange IMAP bug.
  • Fixed: The link displayed in the message view (when hovering over a link) was not always correct.

New in MailMate 1.9.3 Build 5187 (Nov 27, 2015)

  • This public release is mainly focused on bug fixes and stability issues. The most notable new features are manual ordering of IMAP accounts/mailboxes and OAuth2 support for Gmail and Outlook accounts. Note that OAuth2 is enabled by default. If you have any issues then please report them and note that you can disable OAuth2 in the IMAP account settings.

New in MailMate 1.9.2 Build 5141 (Sep 29, 2015)

  • This public release is the first release compatible with El Capitan. An especially noteworthy new feature is the inclusion of a Spotlight importer. This can be enabled in the General preferences pane and it’ll allow users to search MailMate emails using Spotlight. It’ll also allow searching email files saved elsewhere. The Spotlight support also means better integration with BusyCal thanks to the nice people at BusyMac.
  • MailMate now also includes a “Share” extension which should provide better integration with various other applications.

New in MailMate 1.9.1 Build 5084 (Apr 2, 2015)

  • Fixed: The new Bundles preferences pane was unfortunately not enabled by default for new users.
  • Fixed: Under certain circumstances the HTML body part of an email could be empty (triggered by plain text emails with HTML signatures).
  • Fixed: Automatic software update was only done when launching MailMate (which also delays the distribution of this release).
  • Fixed: A bug which might have triggered the double letter issue seen by some users.
  • Fixed: Some issues related to framework exceptions.
  • Changed: Removed empty manual pages to avoid them showing up when searching.

New in MailMate 1.9 Build 5078 (Mar 24, 2015)

  • Highlights:
  • New: Bundles preferences pane. This allows you to enable/disable bundles of commands for various applications.
  • New: Rules pane in the mailbox editor (previously an experimental feature).
  • New: Toolbar search field activated using ⌥⌘F. Note the search field menu and its options.
  • New: Correspondent/Identity added as special header transformations. This is, e.g., used for the new “Correspondent” column for the messages outline.
  • New: Tags preferences now include a short display variant. It is intended to be used with emojis. Note that ⌘⌃+space opens an emoji keyboard on Yosemite.
  • New: Tags columns using tag display names or emojis. Double-click to search for messages with the same set of tags.
  • New: The Signatures pane now has a separate setting for caret placement (allows placing the signature at the bottom and the caret at the top).
  • New: Display count of a mailbox can be based on the counts of submailboxes (the menu item toggle is named “Include Submailboxes”).
  • New: Added perform command to the AppleScript API. Its argument is a list of strings identical to what would be used to define a custom key binding. Details in the help page about custom key bindings.
  • New: “Mark All Messages as Read” in the Mailbox menu.
  • New: Hidden preference MmShowQuotedTextLimit (show x levels of quoted text).
  • New: The “Submailboxes” feature can now handle multi-value headers. Very useful for tags and recipient headers.
  • New: Added “Source Account” column to the set of available message outline columns.
  • New: “Default Account” setting for new messages in the Composer preferences pane.
  • New: Automatically add header fields by holding down ⌥ when hitting Return in the header fields of the composer. For example, hit ⌥↩ to add a “Cc” header when focus is in the “To” header.
  • New: First shot at supporting XOAUTH2 for Gmail IMAP and SMTP. Details in the help page for hidden preferences.
  • New: Signatures can now be restricted to certain email addresses (accounts) using a glob pattern. See the Signatures preferences pane and the manual.
  • New: Several new and improved bundles available in the Bundles preferences pane.
  • Changed: Numerous optimizations improving both speed and memory usage.
  • Changed: Default set of mailboxes changed (only brand new users see this since they are only read on first launch).
  • Changed: Updated manual with various missing feature descriptions.
  • Changed: Removed all of the built-in bundles. The user must now explicitly enable the ones needed in the Bundles preferences pane.
  • Changed: Distortion mode now also works for HTML messages and attachment descriptions.
  • Changed: Removed “Date > Relative” from search conditions since it should never be used for this purpose.
  • Changed: First few steps towards improved handling of HTML messages (nothing to test yet).
  • Changed: The HTML signature text field (in the Signature editor) now accepts pasted HTML. It’s still best to clean it up by hand though.
  • Changed: Improved behavior when SMTP server reachability cannot be correctly determined.
  • Changed: Updated all executables to 64 bit (also implicitly fixes all issues caused by the 32 bit Apple frameworks on Yosemite).
  • Changed: MailMate now requires 10.7+.
  • Fixed: Several workarounds for several very buggy IMAP servers.
  • Fixed: Long multi-recipient headers in mailto: URLs were not always handled correctly (thanks to BusyMac for reporting this).
  • Fixed: Security issue related to the use of IFRAME in HTML emails.

New in MailMate 1.8 Build 5029 (Dec 15, 2014)

  • Although the 64 bit release primarily features optimizations, it also includes a few new features, changes, and fixes. Here are some of the most interesting:
  • New: “Default Account” setting for new messages in the Composer preferences pane.
  • New: Completion of email addresses works for any contacts with a company name (and email address).
  • New: Added perform command to the AppleScript API. Its argument is a list of strings identical to what would be used to define a custom key binding. The frontmost window of MailMate is the target even if MailMate is not in focus (activated). Example: tell application "MailMate" to perform {"toggleFlag:"}
  • New: “Distortion Mode” now also works for HTML messages and attachment descriptions.

New in MailMate 1.8 Build 4576 (Oct 17, 2014)

  • New: Redirection of a message using “Message ▸ Redirect” (⌥⌘E) or the redirectMessage: key binding. This opens a special composer window which only allows editing a fixed set of headers. MailMate also adds a $Redirected flag to any redirected messages.
  • New: Support for using an external editor to write emails (TextMate, Sublime Text, MacVim).
  • New: HTML signatures can be configured in the Signature preferences pane. They work in both plain text and Markdown mode. (More details in the manual.)
  • New: Remove search items using context sensitive menu (right-click) or by holding down the option key (⌥) when left-clicking.
  • New: “Redirect” and “Export to Folder” are now available as rule actions.
  • New: “Default Downloads Folder” option in the General preferences pane.

New in MailMate 1.7.2 Build 3905 (Dec 18, 2013)

  • Calendar Bundles:
  • Experimental bundles added for Calendar (iCal), BusyCal, and Fantastical. The latter two are based on bundles provided by Torsten ‘Teggy’ Grust (thanks!). The Calendar bundle defaults to the use of a calendar named “Work”. For now, you can change this using the defaults command in the Terminal: defaults write com.freron.MailMate MmDefaultCalendarName -string "MyCalendar"
  • If you select text in the displayed email then this is used for the creation of the event. Otherwise, MailMate tries to automatically find a suitable date in the message.
  • Task Manager Bundles:
  • Three new bundles have been added to match the functionality of the OmniFocus/Reminders bundles. The new bundles provide integration with Evernote, Things, and The Hit List.
  • SmartyPants:
  • Experimental SmartyPants support has been implemented. It only works for HTML and HTML is generated even if only needed for SmartyPants. Quoted text is ignored by the converter. The SmartyPants conversion skips any occurrences of "-- ".
  • Enable this feature as follows: defaults write com.freron.MailMate MmSmartyPantsEnabled -bool YES
  • Other:
  • New: MM_SELECTED_RANGE to get the selected text for the canonical input of a command.
  • New: MM_SUPPORT_PATH in the environment variables to easily access shared commands.
  • New: Standalone binary to detect dates in text (named detect). It looks for free text dates in the input choosing the first one which is later than “now”. Otherwise, it simply selects the first date. The code is based on Apple’s NSTextCheckingTypeDate.
  • New: Drag’n’drop to an IMAP mailbox (or mailbox based on a IMAP mailbox) to import messages/mbox files.
  • New: Drag’n’drop files to the messages outline to import messages/mailboxes.
  • New: The list of specifier shorthands can now be extended (very low level).
  • New: Added hidden setting to change the total number of allowed connections (default is 45): MmIMAPTotalMaximumOfConnections
  • Changed: Improved handling of custom key bindings in the Composer (with/without ⌘ works in the text view, without ⌘ works in the headers).
  • Changed: The manual page on custom key bindings now clarifies how modifiers for custom key bindings need to be ordered.
  • Changed: Deriving an identity now also takes the Envelope-To header into consideration.
  • Changed: Improved handling of selected text in HTML messages when replying to a message.
  • Changed: Gmail labels are not fetched/synched if none have been specified in the Tags preferences pane.
  • Changed: Manual page on Tags now makes it more clear how tags can be added in the composer window.
  • Fixed: Smart groups in Contacts/Address Book are now properly expanded in recipient fields (previously only regular groups worked).
  • Fixed: Korean text with the ks_c_5601-1987 charset did not work, because it is not supported by iconv.
  • Fixed: selectWithFilter: now works with values containing single quotes.
  • Fixed: #date-last-viewed and #date-sent properly handled by the conditions editor.
  • Fixed: Replying to sent messages no longer duplicates any auto-added Bcc.
  • Fixed: Now handles (erroneous) cid: URLs containing file path /’s.
  • Fixed: Now handling messages with (erroneous) dates where day and month have been swapped.
  • Fixed: Crash bug related to S/MIME certificates with no email address assigned.
  • Fixed: Workaround for issue with SSL on secure.runbox.com.
  • Fixed: Non-UTF8 mailboxes were not displayed correctly in undo/redo menu items.

New in MailMate 1.7.1 Build 3836 (Nov 12, 2013)

  • New: window sheet which asks user to go to the crowd funding site. It can easily be told to not appear again.
  • New: Added GUI option in the General preferences pane for enabling experimental 2.0 features.
  • New: Changed default behavior for new Gmail accounts. 1. “[Gmail]/All Mail” is subscribed. 2. Default archive mailbox is “[Gmail]/All Mail”. Existing accounts are not affected.
  • New: A Gmail label column is shown in Tags preferences if the user has any Gmail accounts. Any tag with a Gmail label defined is not fetched as an IMAP mailbox.
  • New: Added replyMessage action for bundle commands (undocumented 2.0 experimental feature).
  • New: Hold down ⌃⌥ when selecting a message in the outline to select all related message. The result depends on the column selected (the selection matches what is searched for if double clicking).
  • New: The selectWithFilter: key binding has been changed to accept a format string. This can be used to select messages related to the current message. For example, a shortcut (⌃⌥D) to select all messages from the same sender and delete them: "^~d" = ( "selectWithFilter:", "from.address = '${from.address}'", "moveToMailbox:", "trash" );
  • New: Experimental Reminders bundle which works similar to the OmniFocus bundle (with the same shortcuts).
  • Changed: Low level hint in the manual for using custom mailbox graphics slightly changed to work for 10.9 (Mavericks).
  • Changed: IMAP code now detects the OVERQUOTA response code and a better error message is provided.
  • Changed: Emphasized that files in the application bundle should not be modified (manual page about custom key bindings).
  • Changed: Added (X-)Envelope-To to the list of headers which contain email addresses.
  • Fixed: Long time bug causing recursive creation of IMAP mailboxes and eventually repeated crashes on startup.
  • Fixed: The “Always Ignore” option when failing to fetch IMAP messages did not work correctly.
  • Fixed: When failing to fetch messages, the list of UIDs could be too long to fit on screen.
  • Fixed: The error message did not include the correct port number when MailMate failed to make a secure connection.
  • Fixed: Crash bug related to the use of the “View ▸ Columns” menu.
  • Fixed: Typo in the Alfred 2 tip in the manual page about the extended URL scheme.
  • Fixed: When only having S/MIME enabled and replying to a message which was to be signed by default then the default protocol was some times wrongly changed to OpenPGP.
  • Fixed: Now better at handling decoding errors with the Shift_JIS charset.
  • Fixed: Copying addresses from the headers view did not always work well when pasting them in an address field (the name part was not quoted).
  • Fixed: Transformations in format strings did not always work (for example, ${from.name:/capitalize}).
  • Fixed: Some users experienced a crash when quitting MailMate (e.g., when updating).

New in MailMate 1.7 Build 3790 (Oct 18, 2013)

  • New: GUI settings to control how signing/encryption is derived when replying.
  • New: Markdown behavior for replies is now configurable (Composer preferences pane).
  • New: Universal mailboxes (Inbox, Drafts, etc.) can now be edited with the Mailbox Editor. Only a single pane for now.
  • New: Added GUI option for whether or not “Move to Mailbox” should close the window after moving message(s) (Viewer preferences pane).
  • New: Hold down ⌥ when using using the “Move to Mailbox…” panel (⌥⌘T) in order to copy instead of move.
  • New: Copy messages using ⌘C. They can be pasted (⌘V), e.g., in the Finder or in the Composer.
  • New: Use paste (⌘V) to copy a message to the current mailbox.
  • New: Going to “Root of Thread” (⌃⌘R) now automatically displays the thread if the root is not in the current mailbox.
  • New: Smart mailboxes are now more aware of which mailbox they are based on. If based on a single IMAP mailbox then drag’n’drop and more is possible.
  • New: The emate command now supports adding a “Reply-To” header (also works for a mailto: opened using AppleScript).
  • New: Use the emate command (or the mailto: URL scheme) to set tags for new messages.
  • New: Sound selection popups also make Apple Mail sounds available. By default, the Apple Mail “Mail Sent” sound is now used.
  • New: All IMAP mailboxes (and accounts) can now be edited with the Mailbox Editor.
  • New: Added AppleScript example for emailing an attachment using Alfred 2.
  • New: Added copyToMailbox: key binding selector which works similarly to moveToMailbox: (with a mailbox argument).
  • New: Added rootOfThread: and lastOfThread: to the list of available key bindings.
  • New: Added “Deselect All” (⌥⌘A) as an alternative menu item to Select All.
  • New: Added “Last of Thread” (⌃⌘L) to the message menu.
  • New: Placeholder strings for from/to/subject, for example, “(No Subject)” instead of an empty string.
  • New: Spell check for subject header.
  • New: The nextMessage: and previousMessage: key bindings now work in a single message window if the mailbox window exists and the selection has not been changed.
  • New: Added message related key binding selectors: selectFirstMessageRow:, selectLastMessageRow:, selectPreviousMessageRow:, selectNextMessageRow:.
  • New: Added mailbox related key binding selectors: selectNextMailboxRow:, selectPreviousMailboxRow:, selectNextMailbox:, selectPreviousMailbox:.
  • New: Automatically disconnect IMAP/SMTP connections after a while (using LOGOUT/QUIT commands). The default is 120/30 seconds.
  • New: IDLE connections are now “checked” when leaving sleep mode.
  • New: Added “File ▸ Edit IMAP Account” menu item.
  • New: Added menu item in context sensitive menu to edit IMAP accounts.
  • New: Menu bar counters now have a “Move Out of Junk” menu item instead of “Move to Junk” when appropriate.
  • Read more about the following in the “Hidden Preferences” manual page:
  • New: Add your own verifications before sending a draft, for example, ensure you never send an untagged draft.
  • New: Explicitly map email addresses to OpenPGP user IDs.
  • New: Make MailMate warn when trying to send to “external” recipients.
  • New: Configurable dock counter icon size, e.g., defaults write com.freron.MailMate MmDockCounterFontSize -float 48.0
  • New: Configure how long a connection to an IMAP/SMTP server is kept alive (keepAliveSeconds);
  • New: Experimental support for the IMAP CONDSTORE extension (defaults write com.freron.MailMate MmEnableIMAPCondstore -bool YES).
  • Changes and fixes:
  • Changed: Improved “Mailbox Schedule” menu: An account default can now be configured for each IMAP acount, the children of the universal mailboxes also allow setting the schedule, “Never” has been renamed to “Manually”, and the menu display how much time has passed since the latest synchronization.
  • Changed: Long link tooltips are now line wrapped.
  • Changed: Margins for printing now allow using the full paper size (use “File ▸ Page Setup” to change the margins).
  • Changed: Updated default location of gpg2 to be /usr/local/MacGPG2/bin/gpg2 since the installer of GPGTools has changed behavior.
  • Changed: (de)selectAll: now works when the message list is not in focus.
  • Changed: Added new shortcut to open the Address Panel (⌥⌘1).
  • Changed: Improved warning when a secure connection is not supported by the server.
  • Changed: Mailbox chooser (“Go to/Move to Mailbox”) is now much faster.
  • Changed: Messages outline columns can now (also) be changed using “View ▸ Columns”.
  • Changed: No longer terminating if getting an EBUSY error (resource busy) when trying to delete empty folders.
  • Changed: Quick Look buttons in the message view now also makes all other attachments of the same message(s) available in the Quick Look window. The Quick Look API does not really support this, but it has been implemented by rotating the attachments (only noticeable when displaying all attachments in the view).
  • Changed: Removed special handling of signature separators. Fixed bug which stripped the signature separator when generating HTML from Markdown.
  • Changed: Replying to sent messages now works more reliably. It also works with address patterns (IMAP account setting).
  • Changed: “Reply List” now falls back to standard reply if it is not a list message.
  • Changed: Now closes auto-expanded mailboxes when drag’n’drop’ing messages.
  • Changed: Workaround for servers with persistent temporary errors on login. MailMate now retries with alternative login schemes.
  • Changed: Additional check to ensure that an IMAP keyword is never applied if it is not an IMAP atom (some servers allow setting such keywords, but they shouldn’t).
  • Changed: Expired server certificates are now trusted if the user has explicitly set the certificate as trusted.
  • Changed: Improved error message when parsing IMAP flags fails.
  • Changed: No longer using the non-standard XLIST IMAP command (Gmail). Instead, RFC 6154 is used which is supported by both Gmail and some other IMAP servers.
  • Fixed: Tips were wrongly initialized to start at the end. Unfortunately this means that only 1 tip was automatically shown per window.
  • Fixed: Always showing a “Details” button for OpenPGP messages. It previously failed when decrypting.
  • Fixed: Detection of follow-up messages often failed. Should be more robust now.
  • Fixed: Buggy collapseThread: key binding.
  • Fixed: Disables the synchronization schedule menu when it cannot be used.
  • Fixed: Incorrectly showed a failed OpenPGP encryption of a message as successful.
  • Fixed: Issue with case-sensitivity for non-ASCII mailbox names in the mailbox chooser (Go/Move to Mailbox).
  • Fixed: Links using the private mlmt-internal URL scheme are not shown when hovering the mouse over a link.
  • Fixed: PGP decryption bug for non-inlined encrypted body parts.
  • Fixed: Slightly improved error message when gpg2 (for OpenPGP) cannot be found.
  • Fixed: Reflow bug of quoted text in the text editor.
  • Fixed: Server-located images are now displayed in the Drafts preview (in particular in signatures). Note that blocking is still active if the draft contains an attached message.
  • Fixed: Some junk/trash mailboxes did not have the “Empty …” menu item enabled.
  • Fixed: Tag changes are committed when a window is closed. Important when using the single message window to make tag changes.
  • Fixed: The collapseAll: key binding selector now forces the messages outline to redisplay.
  • Fixed: Time zone bug when generating “Date” header. Any in-between-zones were incorrect (e.g., +0530 would become +0500).
  • Fixed: Updated sundown (Markdown converter) to handle some issues with signature delimiters (and short header underlinings).
  • Fixed: Updating smart mailboxes with the “is not in” comparison method rarely worked correctly when adding/removing messages.
  • Fixed: Workaround for attachments wrongly QP-encoded without encoding CRLF (generated by Outlook).
  • Fixed: “Send and Archive” in the Composer now selects the next message in the mailboxes view (when possible).
  • Fixed: Crash bug related to adding a compound row to search conditions (on the last row).
  • Fixed: Crash related to sending a message as a new message after a subject change (which triggers a warning to be shown).
  • Fixed: Long-standing crash bug when decoding a message with a completely empty body part (headers AND body).
  • Fixed: Bug with IMAP IDLE which could result in MailMate not detecting a broken connection.
  • Fixed: Synchronization problem when the number of mailboxes in “Connected” state matches the maximum number of connections for an account.
  • Fixed: IMAP code read flags twice when verifying the result of storing flag changes.
  • Fixed: When adding a new account, the universal mailboxes were often not correctly updated (until MailMate was relaunched).

New in MailMate 1.6 Build 3549 (Jul 5, 2013)

  • Send Later:
  • A “Send Later” feature has been implemented. It is enabled in the Headers popup in the Composer. A simple text field allows one to write time expressions such as “tomorrow at noon” or “friday at 10”. The text is red as long as the expression cannot be interpreted. The supported expressions cannot be documented since it is based on Apples API for locating date/time-related expressions in text. In addition to this, MailMate looks for simple relative time expressions such as “2 hours 10 minutes” with support for years, months, weeks, days, minutes, and seconds. Shorthand is also supported, for example, “2h 10m” or “2h10m”. If MailMate cannot parse the expression and the user tries to send the message then a sheet is shown which allows the user to correct the problem or set an exact time. The date header of the message reflects the “send later” date (which may be sooner than the message is sent if MailMate has been offline).
  • Two new message outline columns are available for showing when a message is scheduled to be sent (“Pending Submission”). One of them is relative to the current time and is enabled by default for the Drafts mailbox. Finally, when reviewing messages in the Drafts folder, you can now use “Send Now” or “Cancel Send and Edit” on any messages pending to be sent.
  • The work hours needed for the “Send Later” feature were partly sponsored by Self-Reliant Film.
  • New mailbox editor:
  • The Mailbox Editor has been redesigned. This is work in progress. The editor now handles a set of panes. For now, this only works for smart mailboxes, but it is planned to work for any kind of mailbox with a varying set of panes (depending on the type).
  • A new Submailboxes pane is available. This has settings for:
  • Automatically showing submailboxes based on a header of the messages in the mailbox. A format string can be specified for the automatic naming of these mailboxes.
  • Automatically showing submailboxes for each account (like for the standard mailboxes such as the universal Inbox).
  • You can, for example, automatically display submailboxes dividing messages into subsets based on year, sender, mailing list, or any other (part of a) message header. The best way to see its potential is to simply play around with the feature.
  • Improved mailto: scheme:
  • Improved handling of mailto URLs. It is now possible to specify a from argument. It should just be an email address and MailMate will take care of finding the corresponding identity. It works with all identity settings including address patterns. If an unknown address is given then MailMate falls back to the default account.
  • Improvements also include:
  • Updated emate to also allow a from argument.
  • Fixed problem with mailto: URLs: A composer was not opened if MailMate was not already launched.
  • Fixed various bugs related to mailto: handling and the automatic derivation of an identity based on recipient(s).
  • The message: URL scheme is now automatically bound to MailMate if the mailto: scheme points to MailMate. The user is first asked about this, but the user can choose to let MailMate handle it automatically in the future if the binding is lost.
  • Tips view:
  • Added a new view providing quick tips about some of the less obvious features of MailMate. It is currently shown at the bottom of the mailbox viewer and the composer (it’ll be extended to the mailbox editor as well). The view can easily be dismissed by clicking an “Ok” button, but you can also tell it to never appear again. The General preferences pane includes a new setting for specifying when tips should appear. By default it is “Once a Day”.
  • IMAP:
  • Messages scheduled to be sent are now uploaded AFTER sending. This circumvents problems with Gmail and Zimbra and makes MailMate behave more like the majority of email clients — hopefully triggering fewer IMAP server bugs.
  • Workaround for buggy IMAP servers to allow the user to always ignore messages for which MailMate fails to fetch something. This is useful for buggy IMAP servers like MS Exchange.
  • No longer uploading drafts to the server as long as a composer window is open.
  • New hidden setting for handling server passwords. You can now add suppressPasswordRequester = 1 to an account in Sources.plist and the password requester is never shown for that account. This is useful for unstable IMAP servers which randomly reject user passwords.
  • Content-Transfer-Encoding: x-uuencode:
  • MailMate now supports the non-standard transfer encoding named x-uuencode. If you have had problems with “corrupt” attachments in the past then this might fix it. The encoding seems to be generated by Eudora (maybe as an option or only by some versions), but in general it seems to be quite rare. Most email clients use base64 encoding as specified in the MIME standard. Nevertheless, some users may have a lot of these messages in their email archives.
  • Note that MailMate does not (and cannot) generate messages with the x-uuencode encoding (and this is not going to change).
  • TNEF (winmail.dat):
  • MailMate now includes out-of-the-box support for extracting files from TNEF attachments (often named winmail.dat). You do not need to install anything to make this work.
  • Note that TNEF is a proprietary non-standard format. The sender should be notified about this and encouraged to use a different attachment format.
  • Experimental support for requesting DSNs:
  • Experimental support for requesting DSNs (delivery status notifications) as specified in RFC 3461 has been implemented. MailMate supports RET and NOTIFY although I’m not sure how widespread RET is used in practice. Note that the Gmail SMTP server supports neither.
  • To try this out, quit MailMate, and then edit this file: ~/Library/Application Support/MailMate/Submission.plist
  • For each SMTP server for which you would like to enable this feature, you can add one or both of the following:
  • requestDSN = "SUCCESS,FAILURE,DELAY"; // Any combination of values is accepted. You can also specify NEVER instead to never receive DSNs.
  • reportDSN = "FULL"; // Either FULL for the full message or HDRS for receiving headers only.
  • Note: How well this works depends on the SMTP servers between sender and receiver. Feedback is welcome.
  • Other changes:
  • Live preview in the Composer window (no longer just updated on Save).
  • Now showing a tooltip when hovering over a link showing the URL target. It is not shown if the target is the same as the displayed link title.
  • Added a “Reply All” toggle to the composer toolbar. It works as both a toolbar button and as a shortcut (both ⌘R and ⇧⌘R).
  • Improved the “Display Count” to take its default from the parent mailbox as long as it has not been changed explicitly.
  • New “Display Count” menu item: “Inherit” (from the parent mailbox).
  • De-obfuscation of email addresses when pasting text in a recipient header, for example, user at example dot com -> [email protected].
  • Improved behavior when dealing with drafts from other email clients. They are never allowed to be sent, but they are allowed to be edited (and then sent) if simple plain text. In all other cases, “Edit as New Message” can be used.
  • Holding down ⌥ disables the inlining of a dragged image in Markdown mode.
  • Improved detection of replying to sent messages. This no longer requires messages to be in “Sent Messages”.
  • Added dir=auto to the HTML generated from plain text messages before displaying them. This does not work well for messages with mixed text-direction, but it’s a lot better than nothing.
  • Updated the Markdown converter to always add dir="auto" for paragraphs. This is much better for right-to-left languages, but something similar is not yet done for the plain text to HTML converter.
  • Added footnotes support to the Markdown converter.
  • Cascading of windows has been improved (fixed).
  • Added shortcut for “Save Attachments…” (⇧⌥⌘A).
  • Added shortcut to the “Format” menu for the markup popup menu (⌃⌘M).
  • Improved the experimental TNEF handling (previously it only handled simple filenames).
  • Mountain Lion workaround: The Address Book viewer in the composer now adds to “To:” on double click. Holding down ⌥ opens the entry in the Address Book/Contacts application.
  • Added junk-related key bindings (markAsJunk:/markAsNotJunk:) to the manual.
  • Updated manual to include that inline images are possible using Markdown.
  • Added more available Composer bindings to the manual: showHeaders:, showSignatures:, showMarkupLanguage:, showIdentities:
  • Added temporary hidden prefs named MmHeadersViewMaximum. It can be used to limit the number of recipients shown in the headers view (default is 30).
  • Using the goToMailbox: key binding no longer forces focus to be the message view. The existing focus is maintained instead.
  • Now printing with the font used to display messages.
  • If the toolbar is hidden then it is also hidden after entering full screen mode.
  • Deleting smart mailboxes with children has been improved. A warning is shown if more than 1 mailbox is deleted (including mailbox children).
  • When generating a reply the email addresses are no longer forced to be lowercase.
  • Renamed Address Book to Contacts (more than 80% of users are on Mountain Lion or higher).
  • Displays a bit of “Resent” information in the headers view (Resent-From/To). A small first step towards support for redirection.
  • Double clicking on reply/forward-arrows in the messages outline always searches for related message(s) — disregarding the setting to open a new window on double click.
  • Added separator in the headers popup (composer) to separate standard headers and virtual headers (Tags and Send Later).
  • Release notes window no longer stays on top.
  • Other fixes:
  • Much faster at displaying long text messages (such as automatically generated log file emails).
  • Improved behavior when cutting text in the composer: The quoting level of the end of the range is now maintained.
  • Now regenerating Message-ID more often when editing drafts.
  • Full screen mode now works for all windows, not just the first one. Full screen mode also works the first time running MailMate.
  • If the MmReplyWroteString hidden preference is blank then no blank lines are inserted at the top of the message.
  • Fixed bug in checking for sent messages after a crash which could lead to a new crash.
  • Fixed “Send and Archive” such that various checks are done (as happens for “Send”), e.g., attachments check.
  • Fixed drag’n’drop of smart mailboxes to match what is allowed by “New Smart Mailbox…” (everything is allowed).
  • Fixed byte size count when importing/rebuilding (previously it could overflow).
  • Fixed various issues related to changing layouts.
  • Fixed problem with “Edit as New Message” for messages with inlined images.
  • Fixed problem with caching the scroll position of a message.
  • Fixed problem with hidden subviews when changing layout or when launching MailMate.
  • Fixed bug in the code for removing extraneous whitespace in signatures. Changes to signatures were not saved if whitespace was removed.
  • Fixed problem with duplicate signatures (triggered by signatures containing one or more lines with nothing but spaces).
  • The “Edit Signatures…” menu item in the Composer now jumps to the Signatures pane in the preferences (instead of just opening the Preferences window).
  • The memory mapping code now crashes hard for ENOMEM errors. This is slightly better than telling the user that a database rebuild might help. (This is not the ideal fix needed for ENOMEM errors.)
  • Fixed potential crash bug in the string formatter used in numerous parts of MailMate (triggered by non-UTF8 strings).
  • Fixed whitespace issues when displaying plain text messages. Extraneous whitespace was displayed both in the beginning and the end of a message. The changes also affects the default CSS file.
  • Fixed bug related to inlining multiple images in Markdown mode. Given a special order of events MailMate would unexpectedly terminate.
  • Fixed crash bug for the “Correspondence” button triggered by an email address containing one or more single quote marks.
  • SMTP now works even if a username is given for a server with no authentication requirements. Previously MailMate would repeatedly ask for a password which was not needed.
  • Fixed problem with the Thread button when no messages were selected. This creates a general search for messages in the same thread as all messages in the current mailbox.

New in MailMate 1.5.4 Build 3316 (Apr 9, 2013)

  • Supports inline images in Markdown mode. Markup for referencing an attached image is inserted when adding an image to the textview (dragging or pasting).
  • Opens links in the composer when hitting the enter key.
  • Now derives a name from other headers if a Reply-To header does not include the name of the recipient.
  • Added “Reply List” menu item (⌥⌘R).
  • Added hidden preference (MmMessagesOutlineMoveStrategy) to control how the message selection changes when moving messages out of the currently selected mailbox.
  • Handles (removes) Re:-prefixes in Chinese and other languages when generating the subject line for a reply.

New in MailMate 1.5.3 Build 3271 (Mar 18, 2013)

  • A bug fix release. The only new feature is a hidden preference to customize the “On … John Appleseed wrote:”. This can be done as follows: defaults write com.freron.MailMate MmReplyWroteString 'On %e %b %Y, at %k:%M, ${from.name:${from.address}} wrote:'
  • The above is the the same as the default. The placeholders for date and time are the same as described in the manual page for the strftime function. The following describes this function in the Terminal: man strftime
  • Bug fixes:
  • Fixed decoding bug related to a japanese character set.
  • Fixed hang related to the recently added “None” operator for configuration of smart mailboxes.
  • Fixed bug related to None queries. Smart mailboxes were not always properly updated when switching to/from “None”.
  • Fixed bug causing any/all changes in the smart mailbox editor to not take immediate effect.
  • Improved parsing of From headers like this: “Foo bar (Comment)”
  • Address completions no longer include entries like this: “[email protected]
  • Fixed problem with disabled toolbar menu items for layouts involving the thread arcs view.
  • Fixed bug triggered on 10.6 related to non-local address books.
  • Fixed emate to handle attachments properly.
  • Fixed the extended URL documentation to include a missing tell application MailMate prefix.
  • Changed shortcut for the Activity Viewer from ⌘0 to ⌥⌘0 (matching Apple Mail in 10.7/10.8).

New in MailMate 1.5.2 Build 3218 (Jan 22, 2013)

  • Added “Reply to …” to the context sensitive menu of addresses in the headers view.
  • Improved handling of OpenPGP and S/MIME. Now MailMate properly handles signed/encryped body parts in multipart/mixed MIME messages.
  • For the Japanese users of MailMate: Now respects the first/last name ordering of individual contacts in the Address Book (Contacts on Mountain Lion).
  • Inlined images are now rotated according to EXIF data in images (Mountain Lion only).
  • Shows an alert when trying to add an entry to Contacts when access to Contacts is not allowed (by user preference). Previously this silently failed (Mountain Lion only).
  • Enabled auto-linking for the Markdown converter.
  • Updated to use Growl framework version 2.0.1.
  • Added some optional toolbar buttons, a “Flag” toggle and a “Reply All” button.
  • Added sendAndArchiveParent: and sendAndMoveParentToMailbox: selectors which can be used for custom key bindings. Also added an optional “Send and Archive” button for the composer toolbar. It is not displayed by default. Note that when doing “Send and Archive”, the archived parent is automatically marked as read (if not read already).
  • Added a new submenu to the Mailbox menu named “Synchronization Schedule”. It allows the user to explictly configure how often each mailbox is synchronized, including a “Connected” item which means that the mailbox is treated like the INBOX, that is, IMAP IDLE is used. It only makes sense to have at most 3 “Connected” mailboxes since there is not yet a GUI to increase the number of simultaneous connections (it can be configured manually though).
  • It is now possible to add custom headers to the composer using a hidden preference. For example, the following can be used to add a priority header to outgoing messages: defaults write com.freron.MailMate MmAdditionalComposerHeaders "( { headerName = 'X-Priority'; type = 'plain'; } )". Give the header a value of 1 and it’ll get a “high” priority.
  • Experimental handling of winmail.dat files:
  • TNEF (Transport Neutral Encapsulation Format) is a proprietary attachment format which is generated by some Microsoft products. The resulting files are often named winmail.dat. This version of MailMate can automatically extract the files within TNEF attachments using the tnef command line tool, but this is not (yet) distributed with MailMate and you should consider it a very experimental feature. If you have MacPorts installed then you can get tnef as follows: sudo port install tnef
  • Then launch MailMate and try to open a message with a TNEF attachment (MIME type must be application/ms-tnef). It has only been tested on a few emails. Feedback is welcome, in particular if you have messages for which it fails to work correctly.
  • IMAP:
  • Fixed bug in the handling of Message-IDs with double-quotes when searching for a message on servers without support for UIDPLUS.
  • Workaround attempt for the Davmail Exchange->IMAP gateway server.
  • Fixed handling of IMAP LOGIN command. It did not always work if the username needed to be quoted.
  • Fixed problems with handling \ and " in the IMAP code.
  • Improved feedback when deleting an IMAP mailbox fails, for example, some servers do not allow deleting standard mailboxes. MailMate now offers to cancel the deletion.
  • Workaround for IMAP servers which (erroneously) report a negative UIDVALIDITY value (it is handled by skipping the minus sign).
  • Various Fixes:
  • Fixed a bug in the SMTP code which could result in partially sent messages.
  • No longer terminates when creating a new message while no identities exist.
  • Fixed problem with the configuration of reply-shortcuts in the Composer preferences pane.
  • Fixed problem with Growl notifications which were no longer “clickable”. Apparently a problem introduced by Growl 2.
  • Fixed bug in format string code, for example, ${from.name.first} could fail in certain contexts.
  • Changed quoted printable encoding to never end with a = character. These were displayed on iOS. (Quoted printable is mainly used for signed messages. In general, MailMate tries to avoid the use of quoted printable.)
  • Fixed bug in the handling of the enter key (numeric key pad) in custom key bindings.
  • Workaround for messages where the Content-Transfer-Encoding header is the same as the charset of the message (the origin of these emails are unknown). Falls back to 7bit encoding instead in this special case.
  • Workaround for making iOS devices accept S/MIME signed messages from MailMate. There are still issues with signed+encrypted messages.

New in MailMate 1.5.1 Build 3139 (Dec 13, 2012)

  • Tagging:
  • This is the first version of MailMate with a user interface for tagging. Details can be found in the manual, but you can easily try it out by simply hitting t in the message viewer. Also note the new “Tags” preferences pane.
  • The implementation of tags in MailMate is based on IMAP keywords.
  • Other changes:
  • When failing to encrypt (OpenPGP) a message to an untrusted recipient then “Trust Once” is now provided as an option (when trying to send).
  • Untrusted S/MIME certificates are now editable (when viewed using “Show Details”), that is, the trust settings can be changed.
  • Holding down ⌥ can be used to expunge selected messages immediately (instead of moving them to the trash). An alert is shown which can optionally be disabled.
  • Added the ability to change the type of mailbox count when multiple mailboxes are selected.
  • Suppression checkmark added to the window shown for “Empty Mailbox” actions (available for “Deleted Messages” and “Junk”).
  • Improved handling of first responder state when adding/removing views. This is an improvement for both tagging and searching, for example, after tagging the focus returns to the view which had focus before opening the tags editor.
  • Now wraps headers very nicely at 78 using field specifiers to properly tokenize headers. Lines can be longer if unable to wrap nicely, but lines are never longer than 998 characters. These are
  • Workaround for Gmails implementation of IMAP keywords which allows the ’]’ character. This is non-standard, but MailMate now handles it gracefully.
  • Refactored part of the window layout system.
  • Fixed IMAP bug triggered when APPEND’ing messages with non-standard flags on a server with no support for non-standard flags.
  • Fixed crash bug when using mailto: with attachments (via AppleScript).
  • Fixed OpenPGP encryption-related crash bug.

New in MailMate 1.5 Build 3095 (Nov 9, 2012)

  • Various features/changes:
  • Updated to Growl Framework 2.0. This means MailMate now supports Mac OS X Notifications on Mountain Lion
  • Added support for colored flags (compatible with Apple Mail). This also works over IMAP for any server with support for custom IMAP keywords (the majority of servers). The primary flag color is now red in order to match Apple Mail. Default key bindings for setting colored flags is capital F followed by 1-6 (no visual support for setting these flags yet).
  • “Download Linked File” (or Image) is now available in the context sensitive menu of the message view.
  • Improved performance of HTML to text conversion by replacing html2text.py with libxml2.
  • Removed all dependencies on the BWToolkit framework. The related changes include a new status bar below the mailbox outline.
  • Added a hidden preference (MmIgnoreDeliveryAddresses) to ignore delivery addresses when deriving the identity to be used for a reply. Removed the MmAlwaysTrustDeliveryHeaders hidden preference.
  • IMAP:
  • Fixed a problem related to case sensitive IMAP servers. It only affects installs of Mac OS X on case insensitive disks, but that is also the default. MailMate would terminate when trying to move messages between mailboxes which only differed in casing.
  • Workaround for Gmail servers replying with * BYE \[UNAVAILABLE\] for a login attempt.
  • Workaround for servers failing to provide an EXISTS response after APPEND (experienced with an IMAP server named SmarterMail).
  • Fixed various issues regarding saving messages in the drafts folder on an IMAP server. It now has better performance and it may, indirectly, affect problems with some non-standard servers (Gmail) with respect to the location of sent messages.
  • Bug fixes:
  • Workaround for a bug in OS X 10.8.2 triggered when using AESendMessage to send AppleScript events. This affected users of SpamSieve. Every message sent to SpamSieve would hang and then time out (after 2 minutes) making MailMate seem extremely slow.
  • Local references in HTML messages now work correctly (scrolling to the correct location within the message).
  • Fixed placement of caret when selecting “No Signature” in the composer (when using “Top” posting).
  • Updated sundown (Markdown converter) to no longer auto-enumerate numbered lists since that does not work well for the plain text part of emails.
  • Forwarding a message with a misplaced calendar attachment (text/calendar within multipart/alternative) now works correctly, that is, the calendar item is attached to the forwarded message. (This is a workaround for a bug in other email clients.)
  • Fixed “New Message” bug when using the dock icon menu: Window was not taken to front.
  • Fixed visual glitch in the date column of the messages outline when expanding/collapsing message threads.
  • Fixed visual glitch when opening/closing the find banner view (⌘F).
  • Debug:
  • Three new debug variables have been added to make it easier to solve various problems:
  • defaults write com.freron.MailMate MmDebugSecurity -bool YES
  • defaults write com.freron.MailMate MmDebugSend -bool YES
  • defaults write com.freron.MailMate MmDebugAddressBook -bool YES
  • The first one may be of interest for anyone trying out the new support for S/MIME and OpenPGP. The others are mainly introduced to track down problems reported by a few users.

New in MailMate 1.4.2 (Mar 28, 2012)

  • From address derivation for email aliases:
  • Derivation of the From address for replies has been changed. Until now it has been based on a heuristic using the X-Original-To header and other similar headers, but examples from users have shown that this approach does not work well in general. As a replacement for the heuristic, an optional account setting named “Address Pattern” has been introduced. It is disabled by default. The value for this option must be a regular expression which describes the format of any aliases for the account. Read more about this in the account settings chapter in the Help Book (a help button has also been added to the account settings window).
  • Change focus using key bindings:
  • Introduced makeFirstResponder: for key bindings. This can be used to bind a key to directly activate a view. The identifiers for the views can be found in the layout files, but here are the most likely use cases:
  • "o" = ( "makeFirstResponder:", "mainOutline" );
  • "m" = ( "makeFirstResponder:", "messageView" );
  • "M" = ( "makeFirstResponder:", "mailboxesOutline" );
  • Improved headers editor for recipient addresses in the composer. Previously, multiple tokens were created if pasting text in the middle of an existing token or if tab’ing when the cursor was in the middle of an existing token.
  • IMAP mailbox states are now cached. This makes scrolling in the mailboxes outline smoother.
  • Bounces “Download” folder instead of opening it when saving an attachment.
  • Fixed “Edit ▸ Find ▸ Mailbox Search” menu item. It now works correctly when selected using the mouse (previously it switched to “All Messages”).

New in MailMate 1.4.1 (Mar 21, 2012)

  • Customizable swipe gestures
  • Other new keybindings
  • Improvements:
  • Added preferences for when to automatically mark messages unread (see the “Composer” preferences pane).
  • Added support for named alternative email addresses (details in the chapter about account settings in the manual).
  • Updated Markdown converter (sundown). It is now better at handling changes in quote-level although this is non-standard Markdown behavior. Also fixed handling of quoted code blocks which would often fail when indented code blocks were in use.
  • Better detection of whether Markdown can be used for replies. Markdown is now enabled whenever the text replied to is known to be Markdown or does not contain Markdown markup.
  • Added the use of an external script to convert HTML to plain text (Markdown) when needed for replies or forwarded messages.
  • Now warns when trying to send a message from an account with no SMTP server configured (instead of silently not sending).
  • Improved handling of links in the composer. No longer opened on single click. Hold down command to open a link or use the menu item.
  • Drag’n’drop of email addresses between fields behaves as one would expect. The GUI feedback is still wrong (inverted). Hold down option or command to copy.
  • Added “Reset Usage History” button in the Signatures preferences pane. MailMate now also automatically uses the first configured signature (if any exists) when a signature cannot be derived otherwise.
  • IMAP server name and username settings can now be changed when editing account settings.
  • Improved IMAP code for handling non-UIDPLUS servers.
  • Changed how deleted messages are handled internally. Some actions should be (feel) faster now.
  • Added columns for “Date Sent”. (Currently only works properly for new messages or if rebuilding the database.)
  • Indentation in the messages outline column has been improved (the one with triangles). In particular, there is no indentation when not organizing by thread.
  • Improved default columns shown for standard mailboxes under SOURCES (such as showing “To” instead of “From”).
  • Improved mailbox outline display performance.
  • Improved performance of resetting messages (“Message ▸ Reset…”).
  • Better handling of address-only messages when completing addresses.
  • Improved parsing of spam status related headers.
  • No longer necessary to close the Quick Look panel before clicking a new Quick Look button.
  • Improved behavior when moving signature to top after adding text to the top of the message. It is now placed under any text entered and before the “On … wrote:” line.
  • Specialized handling of a text/calendar body part when it is part of multipart/alternative (created by buggy software). It is now shown as an attachment when viewing the text/plain or text/html body part.
  • Import Messages: Option to import into the destination mailbox even if messages are found within some hierarchy of folders.
  • Improved importing of mailbox folders created by Lion Apple Mail.
  • Added enclose-related words to the default attachments check.
  • No longer trusts X-Original-To-like headers when creating new messages if they come before any Received headers (this matches how replies work).
  • Improved From address derivation. Now any X-Original-To and X-Delivered-To headers are ignored if they come after any Received headers.
  • Improved derivation of From address for mailing lists where the X-Original-To header was not useful. Now it works if the real address is only found in the for part of a Received header. These parts of Received headers are now scanned for known addresses.
  • Attachment links are now draggable (and not just the attachment icons).
  • Introduced hidden preference for setting the default type for mailbox counters: MmMailboxDefaultCountKey. Set it to none to disable counting by default.
  • Improved drag’n’drop of messages. Now inserts titled URL in RTF documents and a plain link in plain text documents. Also uses so-called promised files instead of real files.
  • New hidden preferences:
  • MmMoveSentRepliesToMailboxOfRepliedMessage
  • MmAddressCompletionMailbox
  • MmNonPrivateNamespacesEnabled
  • The first one is self-explanatory, the second one can be used to control which messages are used for completion of email addresses in the composer, and the last one can be used to enable experimental support for non-private IMAP namespaces. Feedback is welcome, but none of these features should be considered complete.
  • Fixes:
  • Fixed bug which resulted in forwarded messages being marked as answered.
  • When opening a message using a menu bar counter menu item or by clicking on a notification then the message is opened in the main window. Previously it often failed, because of an active search (which is now cleared instead).
  • Fixed various problems related to circular message references including self-referencing messages. This includes crashes involving the maximum_value_for_header function. It has been solved by always breaking cycles when threading messages.
  • Various issues fixed with regard to mailbox dragging/reordering.
  • Fixed issue triggered by receiving text/enriched attachments which are really msword documents (generated by a buggy email client).
  • Fixed bug related to messages with message/rfc822 as content type in the root body part.
  • Fixed sorting of Read state column (blue dot).
  • Fixed parsing of (yet another) non-standard From address variant: address (name ).
  • Fixed issue with the hidden preference to prepopulate the Bcc header.
  • Fixed handling of mailto: URL scheme when used to launch MailMate.
  • Fixed crash bug when exiting MailMate with one or more open mailbox editors.
  • Fixed crash bug which could be triggered by recipient addresses containing “single quote” marks.
  • Fixed crash bug which (under special circumstances) could be triggered when using “Edit as New Message” followed by removing an attachment.
  • Workaround for problem with ‘Gordano Messaging Suite IMAP4 server v15.02.3689’.
  • Workaround for server which did not return a hierarchy delimiter when requested to do so (Surgemail).
  • Fixed pasting URLs copied from a Webview. Previously the name was pasted instead of the URL.
  • Added boolean defaults value MmEncodeFullSubjectLines. This can be used as a workaround for problems with buggy websites (like http://www.followup.cc/).
  • Now uses the correct SMTP settings when sending a message with a derived email address.
  • Now properly handling draft messages which were never saved, but which were still part of the database because of a crash. This fixed bug has the side-effect that when rebuilding a database empty messages are likely to appear in the Drafts mailboxes.
  • Fixed an IMAP namespace problem. Triggered when multiple namespaces of a given type are reported by a server.
  • More robust handling of IMAP servers unable to return the bodies of existing messages (workaround for MS Exchange bug).
  • Now able to handle 0-sized IMAP messages (a problem which is rare and difficult to reproduce).
  • Fixed behavior when detecting changed UIDVALIDITY value for an IMAP mailbox. Previously it could fail if the mailbox contained messages with no UIDs.
  • Changed handling of IMAP messages with empty headers and body.
  • Fixed default state for ignoring server subscription states (it was supposed to be on by default, but this was not the case).
  • Updated default IMAP server used for iCloud IMAP accounts (imap.mail.me.com) when importing accounts from Apple Mail.
  • Workaround for mailbox creation problem with buggy Yahoo IMAP server.
  • Fixed SMTP settings in the IMAP account settings window to properly show an empty string.
  • Improved date parsing such that some problematic Received headers are skipped (essentially a workaround for headers generated by a Gmail migration).

New in MailMate 1.4 (Dec 22, 2011)

  • Markdown support
  • Reorganized and extended preferences
  • Many IMAP and SMTP improvements
  • And much more...

New in MailMate 1.3.1 (Aug 25, 2011)

  • Custom key bindings:
  • The custom key bindings feature is now exposed in the GUI. It can be enabled in “Preferences ▸ General” and a comma-separated list of custom key bindings files can be entered. For now, only a Gmail key bindings file is distributed with MailMate. A help button in the preferences leads to a help book chapter which describes how you can create your own shortcuts, for example, to go to specific mailboxes, move messages, or to toggle IMAP keywords/tags.
  • Note: If you have used this feature while it was not exposed in the GUI then you still need to go to the preferences and enable it.
  • Hidden preferences:
  • Over time, numerous hidden preferences have been described in the release notes. A new chapter in the help book lists all of them. Some of them are eventually going to have GUI counter parts, some will stay hidden, and some will be removed again. Look through the list to see if it contains one or more useful features for you. Feedback is welcome.
  • “Guessing” standard mailboxes:
  • Introduced strategy for guessing standard mailbox names, for example, MailMate automatically figures out to use a mailbox named “Trash” for deleted messages instead of creating a new mailbox named “Deleted Messages”. This is a heuristic approach since there is no standard for getting this information from IMAP servers except for the non-standard XLIST extension used by Google (and maybe others have adopted it). This extension is also supported by MailMate.
  • Other changes:
  • Now updates the choice of From-address (identity) when changing the main recipient in new messages (not for replies).
  • Now stops updating From-address/signature when an explicit choice has been made (for example, after choosing “No Signature”).
  • Fixed completion of names when inserting adress book groups in the composer (previously only the first name was included)..
  • Fixed selection-problem in the Correspondence outline (nested messages were not always selected).
  • Fixed problem with duplicates in the Drafts folder after quitting MailMate while writing an unsaved new message.
  • Removed unnecessary refresh when using Quick Look. In some cases this could also terminate MailMate.
  • The Quick Look buttons no longer require javascript and are thus displayed for all messages (previously not shown for HTML messages).
  • Automatically expands the SOURCES section in mailbox outline when adding new accounts. Important for the new non-obvious show/hide style used in Lion.
  • Fixed issue on Lion with respect to restoring window frames on startup.
  • When selecting a mailbox MailMate makes a quick check for new messages. For smart mailboxes MailMate identifies any explicit mailboxes on which the mailbox is based (recursively) and makes quick checks for new messages in these.
  • Added “View ▸ Clear Scrollback” (⌘K) menu item for clearing the log view in the Activity Viewer. It clears all logs if no connections are selected.
  • Fixed sorting problem for messages with address fields with only an email address.
  • Fixed selection problem in the correspondence outline. Some times MailMate would not select the correct message after, e.g., archiving.

New in MailMate 1.3 (Aug 3, 2011)

  • Full screen mode in Lion (⌃⌘F).
  • New look for attachments which includes a button for “Quick Look” and drag’n'drop of the file icon.
  • New flexible system for custom key bindings including an example to obtain Gmail-inspired key bindings.
  • Undo/redo supported for moving messages.
  • Improved replying to messages in the Sent mailbox (such replies are handled as follow-up messages instead of replies).
  • Preferences option to use a bold font style for unread messages.
  • Fixed account importer to work for Apple Mail on Lion.
  • And numerous other improvements and bug fixes.

New in MailMate 1.2 (Jun 2, 2011)

  • New look and functionality for attachments including proper dragging behavior and an “Open With” menu item.
  • Improved HTML generation and default stylesheet for the message view making it easier to create a custom stylesheet.
  • Added submenu items for the menu items in the status bar counters: “Archive”, “Move to Junk”, “Delete”, “Reply”, “Forward”, and “Mark as Flagged/Read”.
  • Added “Empty Mailbox” menu item for “Deleted Messages” and “Junk”.
  • Support for the IMAP XLIST command (used to automatically identify standard mailboxes). This is particularly important for localized variants of Gmail.
  • New experimental feature: Markdown for writing emails…

New in MailMate 1.1.2 (May 4, 2011)

  • Improved mailbox search. Most importantly, you can now store a default set of search conditions.
  • Improved completion of addresses in the composer.
  • Support for SMTP authorization via the LOGIN method (important for SMTP servers which do not support PLAIN).
  • Fixed bug related to deletion of spam. Make sure you read the release notes if you use SpamSieve.
  • Various other changes and bug fixes.

New in MailMate 1.1.1 (Apr 8, 2011)

  • Autosave:
  • When composing a message, a copy is autosaved every 30 seconds (but only if changes exist). When launching MailMate, any autosaved messages are detected and the user is asked to either discard or import. This should never result in more than 2 versions of a draft: The autosaved version and the most recently explicitly saved version.
  • Other changes:
  • Reordering of standard mailboxes is now allowed.
  • “Save Attachment…” now shows and allows changes to the default filename.
  • More information provided when importing messages.
  • The Flag column in the messages outline is now used to display an exclamation mark for high priority messages (only when message is not flagged).
  • Improved replying to messages in “Sent Messages”. It previously failed when the message was not sent from the first identity of an account.
  • Removed maximum width for a couple of integer columns in the messages outline in order to better handle custom font sizes.
  • Only applying SpamSieve to messages without the $NotJunk flag. This is needed, for example, if running SpamSieve on two machines when trying to move a message from the Junk mailbox back into the Inbox.
  • Now using “MIME-Version” instead of “Mime-Version” in new messages. Details matter.
  • Workaround for Gmail for a problem resulting in sent messages ending up in the trash. How to reproduce the problem is unresolved but it is likely related to Googles alternative interpretation of the IMAP standard.
  • Workaround for servers wrongly providing EXISTS responses before EXPUNGE (Yahoo, MS Exchange 2007, and probably others).
  • Fixed various other IMAP issues.

New in MailMate 1.1 (Mar 25, 2011)

  • No longer requiring the UIDPLUS extension. Servers with the UIDPLUS extension are still recommended since it is both more robust and more efficient when utilized by an offline IMAP client such as MailMate.
  • Better handling of IMAP servers with limited support for IMAP keywords (such as MS Exchange IMAP).
  • Handles when the INBOX on the server is not in uppercase (such as Yahoo IMAP).
  • Image blocking improved:
  • The default in MailMate is now to always block external references, but the user has detailed control of the behavior using some new preferences (currently under General). The most important setting is “Block external references for messages in …” which allows the user to define a mailbox containing the messages for which blocking should be enabled. The default is “All Messages”, but it could be any smart mailbox, for example, a smart mailbox excluding messages which have been identified as being safe. This could be based on headers inserted by server-side spam detection software (like “X-Spam-Score” or “X-Spam-Flag”).
  • For convenience, the preferences also include a checkbox for “Load external references for messages marked Not Junk” (this could also be done using a smart mailbox as described above). This is especially useful when combined with a new SpamSieve option which allows you to automatically mark messages as Not Junk if they have a low spam score.
  • Go to the General preferences and play with these new settings and send some feedback if it somehow cannot handle your preferred use of image blocking.
  • Note that blocking is always enabled for messages in “Junk” or “Deleted Messages”. It is also always enabled for attached messages (occurs when using something like “Forward as Attachment…” has been used to construct an email). This allows one to safely receive forwarded spam.
  • Composer related changes:
  • When completing addresses, MailMate now looks in all Address Book sources. Technical note: This is done using a private API and therefore this feature may be removed again in future versions of MailMate. Feedback on both success and failure of this feature is welcome.
  • When pasting in the composer, text is preferred to images (pasting an image makes it an attachment). This was necessary since otherwise pasting text from some applications would instead result in the attachment of an image.
  • Also note:
  • Email address completion now works for Address Book groups including distribution list identifiers.
  • Improved splitting/merging of quoted paragraphs.
  • Other changes:
  • MailMate now enforces a 30-day trial period. It is measured as days of active use measured by the number of days on which messages have been sent. When the trial period has expired, you can still use MailMate, but you can only send 2 messages per launch.
  • Interesting minor changes:
  • Separate search shortcuts: Search All Messages (⌥⌘F) and Mailbox Search (⌃⌥⌘F).
  • The Search button in the toolbar now keeps MailMate in the current mailbox if holding down ⌥.
  • Allows renaming of standard mailboxes.
  • Various (less interesting) fixes:
  • Fixed bug in saving attachments using “Message ▸ Save Attachments…” triggered when focus was in the message view (nothing was saved).
  • Fixed rare crash bug related to a message being deleted while in the process of being displayed in the message view.
  • Fixed problem triggered when an IMAP connection was reused to select a second mailbox just after a message was expunged from the first mailbox (server-side).
  • Fixed crash bug which was triggered when a new IMAP mailbox was registered and a popup button with mailboxes was in use at the same time.
  • “Move Out of Junk” is no longer greyed out in the messages menu when messages are selected in the Junk.
  • Fixed bug in the filter editor (Mailbox Search) which would make it ignore parts of the query if an any/all expression existed with a single child.
  • Removed toolbar button in the Preferences window.

New in MailMate 1.0.2 (Mar 7, 2011)

  • Composer related changes:
  • Improved the default choice of identity (from-address) for new messages.
  • Fixed handling of signatures such that “No Signature” is remembered for future messages.
  • Fixed quoting level color when removing the last quote level character.
  • The various settings in the Substitutions menu (in the context sensitive menu) are now saved. In particular, Text Replacements can be enabled (see Language and Text in the System Preferences).
  • IMAP related changes:
  • Fixed issue where subscribed mailboxes under a private namespace were not found (due to a missing delimiter in the namespace prefix).
  • When creating a mailbox with the same name as an unsubscribed mailbox, the mailbox is automatically subscribed (instead of failing).
  • Added alternating row colors in subscriptions sheet.
  • Other changes:
  • Added “Common Headers or Body” to make it easier to search addresses, subject, or unquoted body text.
  • Fixed encoding of long header lines with non-ASCII and no spaces (for example, a subject line in Japanese).
  • Now allows whitespace around “=” in Content-Type parameters (in order to handle a bug in at least some versions of PHPMailer).

New in MailMate 1.0.1 (Feb 24, 2011)

  • Fixed the row height in the outlines for custom fonts (some fonts were previously clipped).
  • Fixed date issue caused by UNIX calls and CFTimeZone disagreeing on the current time zone (in relation to UTC).
  • Added Save Attachment… to the context sensitive menu in the message view.
  • Enabled New Folder in save panels for attachments.
  • Improved handling of opening .eml files (but still not showing .eml messages which are not known by MailMate).
  • Now encoding all application/* MIME types as base64.
  • Fixed crash/efficiency bug related to adding the bodies of retrieved messages to the database.
  • Fixed crash bug triggered, e.g., when double-clicking on a message in the To-column when the message had multiple recipients.
  • Improved parsing of quoted strings in headers, e.g., filenames containing double quotes.
  • Fixed crash bug which could be triggered by Edit as New Message.
  • Fixed Use as Default Headers in the Composer which was broken in recent updates.
  • Fixed crash related to renaming IMAP accounts.
  • Added messages with the \Deleted flag to the set of messages which should not be trusted to fetch external resources.
  • Removed Delivered-To from the set of headers checked when trying to deduce an alias for a from-address. Should probably never have been added in the first place.
  • Looking for Thunderbird settings in ~/Library/Thunderbird/profiles.ini instead of Profiles.ini.

New in MailMate 0.9.10 (Jan 29, 2011)

  • Images and files pasted in the composer are attached to the message.
  • “Forward as Attachment” implemented.
  • When replying to a message sent from yourself, the from/to/cc fields are left unchanged.
  • Scrolling using space now works when the message view is in focus. Skips to next message when scrolled to the bottom of a message.
  • Improved completion in address fields. In particular, the handling of commas now works correctly.
  • Numerous other changes and fixes which can be seen in the detailed release notes within MailMate.

New in MailMate 0.9.9 (Jan 12, 2011)

  • New interface for importing messages.
  • Configurable default set of columns for the messages outline.
  • Added “is not within last” as a new date comparison method (for example “Date is not within last 3 days”).
  • Added “Any Address” as a shorthand for making comparisons with any address (from, to, cc, bcc).
  • Mailbox outline font is now (also) configurable.
  • …and a slew of minor additions, changes, and bug fixes.

New in MailMate 0.9.8 (Dec 26, 2010)

  • Most of the changes are minor features or bug fixes. Note the new application icon and the new widescreen layout.

New in MailMate 0.9.7 (Dec 3, 2010)

  • Numerous minor features and bug fixes.

New in MailMate 0.9.6 Beta (Nov 22, 2010)

  • Redesigned composer window.
  • Advanced support for signatures and top/bottom posting.
  • Support for Growl notifications.
  • Crash reporter added which offers to send MailMate related crash reports on startup (anonymously if preferred).
  • Numerous minor features and bug fixes.

New in MailMate 0.9.5 Beta (Oct 24, 2010)

  • MailMate now uses $Junk and $NotJunk IMAP keywords to control when resources (most often images) are allowed to be fetched from external URLs.
  • When fetching is blocked, a special view is shown stating the reason and the number of resources blocked.
  • Various options are then available including fetching the external resources once (“Load Once”). By default MailMate is quite restrictive.
  • External references are blocked for a message if one or more of the following is true:
  • It is in a junk mailbox
  • It is marked $Junk
  • It is in an Inbox or in a mailbox for deleted messages without the $NotJunk keyword.
  • Moving a message in/out of a junk mailbox automatically enables/disables the $Junk keyword.
  • Note that various email clients use variations of the $Junk/$NotJunk keywords.
  • Files can now be attached using a file panel (⇧⌘A).
  • Added the special IMAP Recent state to the default set of counters.
  • Various IMAP related bug fixes. See the release notes in MailMate (shown when updating).