Sending Group Emails in iOS

The best method I’ve found for sending group mails in iOS is to use Drafts and TextExpander. You do have to manually update the TextExpander snippet, but it saves a huge amount of time if you’ve got more than a handful of people in the group you want to send mail to. The iOS Contacts app is terrible at dealing with groups.

Updating your group emails is best accomplished by using TextExpander for OS X and syncing changes across to the iOS version because of the aforementioned ass-tasticality shittiess lack of usability in Contacts that forces you to choose Each. Individual. Recipient. In a bloody group.

On your desktop, open TextExpander, go to Contacts, and control-click (right click) on a group name to bring up the contextual menu. Choose Send Email to "GroupName", which will create an email populated with the emails of all the recipients in that group. Select all of the recipients, copy, and paste to TextExpander. Set your shortcut for the group. TextExpander can automatically sync through Dropbox, so changes you make here should show up in iOS.

HINT: Mail on both iOS and OS X will recognize the Name <email>, plain-text format as valid input, if you want to manually create or maintain a list of emails independent of Contacts.

Next, set up an action in Drafts using its built-in support for messaging or email. In the To field, enter your TextExpander shortcut fenced by double chevrons like this:

<<;family>>[1]

so that Drafts recognizes it as a TextExpander snippet and not a bit of text. You can pre-fill a subject, leave it blank to fill in at runtime, take advantage of Drafts default behavior which uses the first line of the draft as the subject, or use other TextExpander snippets to fill in elements like dates and times dynamically.

After saving your new custom action, the last step you have to take is to go to options in Drafts and refresh TextExpander snippets. This is necessitated by Apple’s rules about inter-app communication, which were tightened up in iOS 7.

The next time you want to send a group mail, run this action and Drafts will bring up the system email pane with your list of recipients filled in. You can make edits if desired, and then tap “Send”. Done.

Once you’ve done the initial set up, it’s much easier to create new group email actions since you can simply copy your existing action and make tweaks. I’ve done this for my most-used Groups in Contacts. Using Drafts is so much easier than Contacts that the time spent setting this up feels well worth it. You can use TextExpander snippets on OS X to address emails since it isn’t subject to the same strict interaction limitations as iOS, so there’s also an ancillary benefit to creating the snippet.

The only small headache is that you do have to manually update the addresses. I’m sure even that could be automated somehow, but I’m not quite crazy enough to start into something that Rube Goldbergian.


  1. I started running into problems remembering snippet shortcuts. Taking a look at what others had done to solve the same problem, I found that one of the preeminent geeks uses a signal character, and makes a good case for why it’s a good idea. I agreed with most of his points, so I implemented it for a large number of my own, where it makes sense. So, you can type ;family instead of something like fmlymail, where you might have the internal dialog, “Did I drop vowels in the first part, or the second part. No, shit. That doesn’t work either. Damn. What was the abbreviation again? Well, hell, I guess TextExpander isn’t saving me keystrokes and clicks if I have to look it up every time.”

    I adopted * for special characters (*apple for ) and / for HTML snippets (/del for <del></del>, with the insertion point placed between the opening and closing wrapping.) I use ; for triggering code snippets, email addresses, and lists. I prefer having some distinctions between types of snippet, and I haven’t run into any problems with coding conflicts and these usages so far.  ↩