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 Book.app 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.
Notes
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.
Hi,
This is the contents of the log file.
> ATE0
AT+CMGS=?
<
+CMGS: (?),(?),(?)
OK
My phone model is samsung 3310.
Can you download the latest version (2.2) and try it out? I’ve included a small fix that should get around this problem on your phone.
This is great! One question. The “Send using:” pop-up menu offers me 2 options. They are “LG-GR500: Dial-up Networking” and “LG-GR500: Serial Port 1”. Is one method preferred over the other? (LG-GR500 is my phone model)
It varies between different phones, often both will work but occasionally only one of the options will work. Try out both options, if they both work then there is no preference for one over the other.
Great tool 🙂
I didn’t succeed to get the message to be saved in phone sent tray of mine E55.
Is it possible to get this functionality in some way?
Thank you
Hi,
I would love to use this. Here’s my log file, with errors for Motorola PEBL U6 (which worked with emitSMS under OS 10.5 but not 10.6):
================
> ATE0
AT+CMGS=?
<
ERROR
=============
Thanks!
Hello,
first i installed this Program http://sigmaris.info/files/emitSMSAddressBookPlugin.bundle.zip
Got an Error Message: Failed: got reply “>” to send command
Then I Installed
http://sigmaris.info/files/emitSMSAddressBookPlugin.bundle.debug.zip
& got the same Error Message
Failed: got reply “>” to send command
This is my Log File:
> ATE0
AT+CMGS=?
AT+CMGF=0
AT+CMGS=19
> 0021000E9194615215171452000005CCF7F81D02
What can I do? Thank you for answering
The phone doesn’t seem to be replying to the instructions to send an SMS. What model of phone is it? Does it support sending SMS from any other app?
Debug message:
> ATE0
AT+CMGS=?
<
ERROR
Phone: Motorola RAZR v3 (From '06 for Verizon)
Bluetooth setup says this is the model but I don't know if that's correct:
GPRS (GSM/3G)
Message that appears on Address book when the phone's port is selected: "got reply 'error to AT+CMGS"
Running Snow Leopard 10.6.8
Any help is appreciated.
Was using emit before downloading yr address book version. Works like a dream with my Macbook & Nokia X3-02. Can I ask does it keep a log in TXT file similar to Emit? as I couldn’t find anything in searching files. thanks for your work.
It doesn’t support keeping a log of the messages, unfortunately. I might get some time to work on it, and a new phone to test it with, in a couple of months, and I’ll put that feature on the to-do list.
Hi,
the plugin connects with my iPhone 4 (5.0.1) but stays all the time in “testing wireless iAP…”
How to fix this?
The iPhone doesn’t support the Bluetooth profile required to send SMS messages, unfortunately.
I liked emitSMS widget a lot, but love the AddressBook SMS plugin. Before upgrading from 10.6.8, I would like to know if the plugin works with (Mountain) Lion. Thanks!
Sigmaris,
this is great news. Please keep up the good work.
I tested the AddressBook plugin in Contacts.app on OS X Mountain Lion 10.8.4 by sending a SMS over a Nokia 6300 and it is working!
I was waiting for a plugin like that, easy and simple, thanks for filling this gap.
Once OS X had built in that feature, then suddenly Apple removed it and everyone asked why. Today, we know it was the price for the iPhone and iMessages.
Hello,
at first: great job!!!
I’m working with a MacBook 5.1 with Mac OS X 10.6.8 (yes the old one)…
But: My Nokia 6555 doesn’t send SMS’s. The error message says:
«got reply “+CMS ERROR: 500” to send command»
I’d be sooo happy if it’d work with my phone…
Please help.