published on

Address Book SMS Plugin

In the distant past, the Address Book app in Mac OS X Tiger could send mobile SMS messages directly from within the app, if you paired your mobile phone with your Mac via Bluetooth. Along came Leopard, and the feature mysteriously vanished without trace or explanation, and hasn’t reappeared since. Missing the feature, I found a roundabout replacement in the emitSMS dashboard widget. It offers SMS sending via Bluetooth and can also search the Address Book for phone numbers. Having seen that the source code for emitSMS was released, I adapted the backend into a plugin for Address to provide the missing former functionality.

The latest version is v3, which has a few bugs fixed, in particular the one which caused it to hang after sending an SMS on some phones. It also now uses native Mac OS X methods to communicate with the phone, rather than an emulated serial port.

Download, unzip and place the plugin in /Library/Address Book Plug-Ins/ and restart Address Book. You should then be able to click on a phone number on a person’s card and select “Send SMS via Bluetooth” to send them a SMS.

The source code is also available, under the same MIT license as the original emitSMS source code.


The plugin should be compatible with Address Book in Leopard and Snow Leopard.

To use the plugin, you must first pair your phone with your Mac, by using the Bluetooth Setup Assistant. This assistant can be accessed by clicking the ‘plus’ button in the Bluetooth System Preferences panel.

After you select a port to use in the pop-up menu, it will test the port for SMS sending capabilities. The port will only be usable if the test succeeds. Some phones seem to be a little flaky when communicating via Bluetooth and require the test to be run a few times before it can establish a connection successfully. If it fails initially, try clicking on the port again.

If ‘Long Messages’ is not enabled your messages will be limited to 160 characters (or 70 characters if you use symbols outside the standard GSM set, e.g. ^ ). Not all phones support the sending of long messages (actually splitting the message into several SMSs). Additionally, not all phones support requesting delivery receipts.

In general, if your phone works with the emitSMS dashboard widget, it should work with this plugin as the same underlying method is used to send the SMSs.

Debug Version

If the plugin doesn’t work with your phone, replace the installed version with the debug version from here. Then try to send SMSes using the plugin. A log file, ABSMSPlugin.log, should be created in your home directory; send me the log file and I’ll try to add support or figure out the problem.