The default Mail app on the Mac is easy enough to use once you set up your mail accounts. You up and down arrow through your messages, press delete to trash some, and… Wait, how do you read messages? Enter? VO-j? Use the preview? When writing a message, how do you choose contacts, or add multiple contacts to a field? Why is it so hard to view attachments? How do you add mailboxes to your favorites bar, so you can access them with hotkeys? Okay, so Mail isn't as simple as it first seems, but that's why AppleVis exists.
Assuming your account(s) are properly configured and you are receiving mail, the setup of the Mail app will be something like this:
After the toolbar is the Favorites Bar Group. This holds any mailbox you've set as a favorite. Next is the table of all your mailboxes. Note that your inbox, drafts, and other common mailboxes are unified; that is, messages from all your accounts appear together. To get to a single account, just find the mailbox and press right arrow to expand it, then down arrow to the desired account. If you don't see this table, press command-shift-m (the same command will hide the table if you want to get it out of your way).
After the table of mailboxes comes the Messages table. This is the actual table of messages, at the top of which is a menu button to select how messages are sorted, and a toggle button to temporarily filter the table to only show certain kinds of messages. As is often the case on the Mac, you don't need to interact to read your mail. Simply pressing up or down arrow anywhere that is not the mailboxes table is enough to browse your messages.
By default, the Preview Pane is after the messages table. This displays the contents of the currently selected message, which has its pros and cons. You can press vo-j on a message to jump to the Preview Pane and read the content, which some find more efficient. However, whenever a message is shown in this pane, it is marked as read. If you rely on the unread status of a message to know if you still need to deal with it, then the Preview Pane is going to be a problem - just the act of arrowing past a message will cause it to become read, even if you don't actually stop to read it.
Of course, the menu bar (vo-m) includes many commands, most of which have keyboard shortcuts. Additionally, any mailbox you have in your favorites bar gets its own shortcut, according to its position. The first mailbox in the list can be jumped to with command-1, the second with command-2, and so on. Here are a few other shortcuts that may come in handy:
- command-r: reply to sender
- command-shift-r: reply to all
- command-shift-f: forward
- delete: move current message or selected messages to trash
- up or down arrow: move to the next or previous message
- shift-up or shift-down: select messages, or de-select if moving past already selected messages
- left/right arrow: close/open a thread
- command-y: Quick Look attachments
- command-shift-d: send message (when composing)
- command-n: create new message
Those are not all the available commands, but they are the ones I imagine you will use most often. Now that the basics are out of the way, let's see about some of the more advanced or tricky features.
The Favorites Bar
As mentioned above, the Favorites Bar holds all the mailboxes you consider important, and lets you jump between them with convenient hotkeys. The first mailbox is accessed with command-1, the second with command-2, and so on. Even more conveniently, you can quickly move a message to a favorite mailbox: command-control-1 moves the message to your first favorite, command-control-2 moves it to your second favorite, you get the idea.
By default, your Inbox, Drafts, Sent, and other standard folders are in your Favorites Bar. If you use other folders a lot, though, such as if you use rules to auto-sort messages, you'll want quick access to more than just the defaults. Adding a folder to, or removing one from, the Favorites Bar is a bit tedious, but it isn't hard once you do it a few times. To add a folder:
- Interact with the Mailboxes Table and find the mailbox you want to add. Once VoiceOver has spoken it, put your mouse there by pressing vo-command-f5 (remember to add the function key if this doesn't work, depending on your settings).
- You are now going to drag the mailbox. To do this, lock the mouse down with vo-command-shift-space. Disable cursor tracking with vo-shift-f3, or this may not work.
- Stop interacting with the Mailboxes Table and vo-left to the Favorites Bar Group. Interact with that, and find the mailbox to whose right you want your newly added mailbox to appear. Again, place the mouse there with vo-command-f5.
- Unlock the mouse with vo-command-shift-space, and the mailbox should drop into place.
- Use steps 1 through 4 on mailboxes within the Favorites Bar to re-order your mailboxes. Again, the order decides the number to which each box is assigned.
- Once you are done moving things around, don't forget to press vo-shift-f3 again to re-enable cursor tracking.
If you decide to remove a mailbox, simply repeat the above steps to start dragging it, but do so from within the Favorites Bar instead of the Mailboxes Table. Release the mouse outside of the Favorites Bar and the mailbox should be removed (not deleted, just dragged out of your favorites).
So, how do you actually read the content of a message? There are three ways, kind of.
First, the message preview is always spoken as you arrow through the list of messages. How much of the text is spoken is controlled in Mail's Preferences, under the Viewing button in the toolbar. Find the "list preview" popup button, and choose how many lines of the message you'd like. This amount of the text will be spoken as you arrow to each message.
If you leave the Preview Pane on,the next way to view a message is to find it in the table and press vo-j. This should move you to the Preview Pane and cause VoiceOver to start reading the entire message. To return to the messages list, just press vo-j a second time.
Finally, there is the method I personally prefer: simply press enter on a message. This causes it to open in a separate window, and VoiceOver to speak the sender, then the message content. To skip the sender, just press vo-a (or, if your Trackpad Commander is on, do a two-finger swipe down) to start reading the message content immediately. When you are done with the message, press command-w to close the window and return to the messages list. While a message is open in this way, you can also toggle the sender's status as a VIP, and view message headers.
By default, messages are threaded. This means that, if you and another person are writing back and forth, the replies you get from that person are all grouped together. VoiceOver indicates the presence of a conversation by saying "X message conversation collapsed/expanded disclosure triangle" before speaking the rest of the message attributes. The X stands for how many messages the conversation contains, and collapsed/expanded is the status of the conversation; expanded means that all the messages are shown, while collapsed means that none are.
To expand a collapsed conversation, simply press right arrow, and use left arrow to collapse an expanded one. Very occasionally, these two commands will stop working. I've found that, when that happens, the simplest way to get things back to normal is to disable VoiceOver (command-f5), then left or right arrow a couple times until the error tone stops playing. You can then turn VoiceOver back on (again, command-f5) and things should be back to normal.
While reading messages in a conversation, note that many attributes are skipped. Specifically, the subject and preview are not spoken, so to know what a message says, you must open it or use the Preview Pane. When a conversation is collapsed, the preview that is read is for either the first message, or the oldest unread message if not all are already read.
Should you wish to, you can disable threading entirely. Simply go to the View Menu and uncheck "Organize by Conversation". To re-enable conversations, check this option again.
Hiding the Preview Pane
We've talked about the Preview Pane already. If you decide you don't want to deal with it, you can disable it. To do this:
- Open Mail's preferences and go to the Viewing tab.
- Check the "Use Classic Layout" checkbox, then press command-w to close the preferences window. Don't worry, we'll put this back to normal in a moment.
- Find and interact with the horizontal splitter, which is in between the messages table and preview pane, and press vo-down until it is at one-hundred percent. The preview pane should be gone and Voiceover should report that the horizontal splitter is, "Collapsed on bottom."
- Once the pane is closed, you can go back to Mail preferences, and uncheck the "use classic layout" checkbox. This will put Mail back to normal, minus the Preview Pane. If you find you like Classic Layout, though, by all means, keep using it.
I've mentioned Classic Layout a few times now, but I haven't yet explained exactly what it is. Essentially, it is an alternate layout that provides a slightly different look and feel to the Mail app, specifically to the Messages Table. Whereas the Standard Layout has a specific order to message attributes that you must use, Classic Layout lets you change that order. It does not, however, let you use the message preview that Standard Layout does, so the only way to have any idea what a message says is to read it. Additionally, Classic Layout uses a different type of table, which, once you interact with it, lets you up and down arrow through a specific column instead of having to hear every column for every message. If you do want to hear every column, simply stop interacting with the table, then use up and down arrows like in Standard Layout.
To change which columns appear in Classic Layout, go to the View menu, then the Columns submenu, and check the ones you want. To alter the order in which these columns appear:
- Interact with the Messages Table, then enter the headers with vo-shift-backslash.
- Go to the column you want to move, and press vo-comma. VoiceOver will say that the column header has been marked for drag and drop.
- Now find the header to whose right you want the selected header to be placed, and press vo-period. After a bit of a swishing sound, VoiceOver will announce the move and you will be placed at the beginning of the row of headers.
- Repeat this process as often as you like. The only limitation seems to be that you cannot move the Conversation header (the first one by default) anywhere else, or put anything to its left.
- To exit the list of headers, press vo-shift-backslash again. You will be returned to the Messages Table.
Addressing an Email
When you write a new email, you get suggestions as you type names. These are pulled from both your saved contacts and the addresses you have sent to in the past, even if they are not stored as contacts. There are some helpful tricks that you may not realize you can use to make this feature even more useful.
Selecting an Address
As you type in the To, CC or BCC fields of a new email, Mail auto-suggests people and addresses for you. If you have a contact with multiple addresses, and/or multiple matches to the text you have typed so far, the one that gets selected is the one that is alphabetically first. To move through all the people that match the characters you typed in so far, simply press up or down arrow. To confirm your choice, press enter, and the person's name is inserted as what VoiceOver calls "attached text". This means that VoiceOver will treat the entire name as a single item, similar to how it sees links on webpages. If you were to use left or right arrows to examine the text, you would find that the full text is spoken even though those arrow keys normally move by character. Once you press enter, you can simply start typing another name or email address to select the next recipient; pressing enter inserts your choice, so what you then start typing has no effect on the address you just inserted. Should you wish to delete an addressee, use left and right arrows to find the name. Put your cursor to the right of the name, and press delete. VoiceOver will say that the name or address is selected, so press delete once more to remove it.
You can also change the address of a recipient after you've pressed enter. The process is slightly more complicated than simply arrowing, but it is easy enough.
- Move to the recipient's name - the "attached text" that VoiceOver reads. Interact with that text. VoiceOver will say "In edit text", as misleading as that may be.
- Press vo-space, and a menu will appear. If it does not, you may have interacted one too many times; stop interacting once and try vo-space again.
- Once the menu does show up, you can choose a different address for the person, if you have more than one stored, or select any of the other options available.
Mail automatically saves the names and email addresses of people to whom you send emails, even if you don't save those people in your contacts. If you decide you want to remove any of these saved addresses, go to the Window menu (vo-m, w, down arrow) and choose Previous Recipients. You are presented with a search field and, to the right of that, a table with every saved address Mail has stored. Past that are two buttons, one to remove the selected address, and one to add it to your contacts. You can use the remove button, or simply press delete; with no confirmation, the address you are on is removed. When you are done, press command-w to close this window and get back to where you were in Mail.
In both iOS and macOS, the Mail app has a way to set certain addresses as VIP. This way, you can be notified when a VIP sends you an email, perfect for keeping up with close friends, or monitoring an important conversation.
To toggle a person's VIP status, simply locate an email from them and press enter to open it. Find the Message Headers Group and interact with it; the first thing you find should be the button you want. If a person is not a VIP, you will hear "Mark as VIP, Read Button". If the person is already on your VIP list, the text will instead say "VIP, Read Button". Press this button to toggle the person's inclusion in your VIPs.
Sometimes, you need to look at the headers of a message. The process for doing so is easy, but not necessarily obvious, depending on how you usually read your email.
Find the message in question, and press enter to open it. Locate the "Message Headers" group and interact, then find the text field (the only two things in this group are that text and the VIP toggle button). The text field will, by default, show you only the sender, recipients, and subject; use command-shift-h to switch between this basic information and full headers. The same option can be found in the View Menu, under the Message submenu. Keep in mind that this setting is global, so if you enable full headers for one message, you enable it for all of them.
Attachments in emails you receive can be dealt with in one of three ways: Quick Look, saving via the menus, or saving directly. As usual, each way has its good and bad points, and each is useful for different situations.
This is a perfect way to, well, quickly look at attached files. You don't need to open them in any app, or save them, or do anything else. Of course, the type of file must be supported by macOS in order to be viewed, but the vast majority of file types will work just fine. To use this method, simply press command-y on any message with attachments, and the Quick Look window will open. Note that, if you use enter on messages to view them, you must not be viewing a message when you try to use command-y, but rather be on the table of messages. If a message has multiple attachments, there will be buttons in the Quick Look window to let you choose which file you want to view. When you are done, just press space to dismiss the window.
You can save attachments instead of opening them if you want to. Oddly, there is no keyboard shortcut to handle this; you must go to the File Menu, then choose "Save Attachments". Choose a location in the usual way, and your attachments should be saved.
Finally, you can find an attachment in the email and act on it that way. This is made simple by VoiceOver, which will treat any attached file it finds in the text of an email like a link or contact name. Press enter to open the message, or move to it in the Preview Pane, and be sure to interact with the text (if you use vo-j and the Preview Pane, VoiceOver should interact automatically). Now read your message, and find the attachment you want either by moving the cursor with normal commands (option-left/right to move by word, command-left/right for start/end of line, all those), or vo-arrows to focus on the attachment. Press vo-shift-m to access a menu of options for the attachment. Should that fail, try vo-space, or perform an actual right click (control-click for mice or trackpads with only one button).
If you need to attach a file to an email, the process could not be easier. Simply copy (command-c) the file from Finder, and paste (command-v) wherever you want the file to appear in your message. Other Macs or iOS devices will show the attached file where you pasted it, whereas most Windows email clients will simply show the file attached to your message, but not in the text itself.
Alternatively, while you are typing your email, press command-shift-a and you can browse for one or more files to attach (use standard selection commands to attach multiple files). As before, these will appear where your cursor is in the text. Reviewing what is attached is as simple as listening to the filenames embedded in your message.
Navigating HTML Emails or Opening Links
Sometimes, you get an email that shows up with images, headings, links, and so on. To navigate this, open it (enter or use the Preview Pane), and employ all the same navigation commands you know from Safari. Remember, if you plan to activate links or use a read command such as vo-a, you should interact with the email's text before you start; trust me, it will make your life much easier. The most useful navigation commands are probably:
- vo-command-h: next heading (add shift for previous heading)
- vo-command-l: next link (add shift for previous link)
- vo-space: activate a link under the cursor
- vo-shift-m: open a menu of options for anything under the cursor (most useful for links)
While Mail is an easy program to start using, I hope this has helped you with some of its more advanced or tricky functions. As always, please drop me a note in the comments if I've missed anything or if something is unclear, and I can try to help.