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.
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 (or the emitSMS widget, in fact) you need to set up a virtual serial port over Bluetooth to your phone. This will normally be set up automatically by OS X when you pair your phone with your Mac, but the serial ports can be edited in the Bluetooth panel in System Preferences if necessary. (edit: No longer necessary in the latest version, all you need to do is pair your phone with your Mac).
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.
Is there a way to do this with an iphone ?
Did not work for me on my Debranded SE TM506. If you can get full functionality like it was in the old days you will make a lot of people really happy. I can select a serial port for my phone, it passes the test, I send and it says is was successful but I am unable to send myself a text.
Hi, I tried it with SL 10.6.1 and N95 and got this:
Port: Dial-Up Networking (only this option available)
message: Test failed: got error reply “ERROR” to ATE0 command
Many thanks,
Alan
Does this work with the iPhone?
To all who asked about the iPhone: I don’t think it is possible to use bluetooth to send SMS through the iPhone, it doesn’t support the required Bluetooth profiles. In fact, I think this was connected with the decision to remove the feature in Address Book in Leopard – Apple didn’t want to have a feature in their OS which showed up the lack of Bluetooth support in their flagship phone product.
I don’t get “Send SMS via Bluetooth” to pop up in 10.5.8.
I tried your other version and Send SMS appears, but none of the ports work. I could not the widget to work either.
This is brillant! I could never get the built-in functionality to work with my old SE (P910) but this works brilliantly with my p1i.
Any chance of a solution to send to multiple recipients @ once?
The emitSMS dashboard widget can send to multiple recipients, I’m not intending to put this functionality into the address book plugin as the plugin system is designed to only operate on one contact at a time.
I get an error that says “Test failed: got reply ‘ERROR’ to AT + CMGS” Does that just mean this feature doesn’t work with my phone?
I have Snow Leopard and some sort of old-ish Samsung phone (don’t know what model) Verizon is my carrier.
Unfortunately it looks like your phone may not support SMS sending via the GSM commands, so it probably isn’t compatible with this plugin. If you had the model of the phone it might be possible to find out for sure.
http://tinyurl.com/ykpk3h2
Its a samsung SCH-u540 (link above). I can’t figure out from the list of features if it supports GSM commands or not. I’m guessing not since it is a pretty cheap phone.
[...] ??????. ??????? ??? ?????? ?? ???????????. ?? ???? ?? ???????????? ?? ????? ????????????, ? iPhone ?????? [...]
Slightly confused by the install instructions – I’ve unzipped, should I place the whole of the bundle in the >Library > AddressBook etc or drag only the plugin there?
It doesn’t appear to work with either method with my SE902 and I really would love to get this functionality back!
You need to place the whole ‘emitSMSAddressBookPlugin.bundle’ in /Library/Address Book Plug-Ins/.
I’ll have to find an N95 to test with, so far i’ve only tested it with Sony Ericsson phones. In the meantime, could you replace the plugin with the version here:
http://sigmaris.info/files/emitSMSAddressBookPlugin.bundle.debug.zip
and send me the file ‘ABSMSPlugin.log’ that it creates in your home directory? You can e-mail it to sigmaris (at) gmail.com.
I’d be curious to know if your phone works with the original emitSMS dashboard widget, too.
Thanks it now works – I was installing it in the User > Library > Address Book > etc by mistake.
Hi I’ve found a problem and I have a request. The two are linked essentially. Although I can run AddressBook and send an SMS I can send only one. Subsequent attempts are constantly stuck in trying to send. The SE 902 has two connections available and the outcome is the same using either. I can relaunch AddressBook after a few minutes and succeed (for one attempt) but that’s inconvenient.
On to the request – the plug-in gets stuck in a constant attempt to send (if not restarted) and cancelling the attempt results in all the text being lost. Is it possible to retain the message on a cancel?
Looking forward to a solution to allow successive uses as this is so useful and takes me back to 10.4 SMS heaven
It works nice with my Nokia 3109c but after the message is sent it is required to click on the ‘Cancel’ button.
Same here, it sends out fine but the status still says “sending” but it has already sent out. you have to click the cancel button. doesn’t know how to refresh it self. but if i send using the dashboard widget, no problem. it’ll say sent.
Are you using the latest version from http://sigmaris.info/blog/?p=56 ? If you are, and still experiencing the problem, can you try sending an SMS with the debug version from http://sigmaris.info/files/emitSMSAddressBookPlugin.bundle.debug.zip, then send me the ABSMSPlugin.log file created in your home directory. Thanks!
Hello there! I am trying to use it with a Nokia N70. So far I see the “Send SMS using bluetooth” popup, it seems to recognize the phone the first time, but when I type a message and click “send” it gets stcked in the “sending sms” stadium… any ideas?
Cheers and thanks a a lot for this plugin!
Hello, are you using the latest version from http://sigmaris.info/blog/?p=56 ? If you are, and still experiencing the problem, can you try sending an SMS with the debug version from http://sigmaris.info/files/emitSMSAddressBookPlugin.bundle.debug.zip, then send me the ABSMSPlugin.log file created in your home directory. Thanks!
Done! It works great now! I was using an old version. Thanks again!
[...] (96KB), expand the zip file, and then drop it in /Library/Address Book Plug-Ins. You can find more instructions and usage notes on my [...]
thanks a lot!
the bug with deconnecting bluetooth is fixed in your newest version. works fine now!
nokia 6300 and 10.6.2
greetings
skyxs
Amazing that the iPhone won’t play nice. The amazement is on a similar level to what I experienced when I found this wonderful feature had been disabled in Leopard. More dismay then amazement I suppose.
Sony Ericsson K750i with Leopard 10.5.8 works a treat.
Thank you very much for providing this plug-in, I have never got my phone to work with Address Book under Tiger or Leopard till now.
Hi!
Very nice tool but I got 1 problem.
All my phonenumbers are formatted in the following format:
+49-179-xxxxxxxx
+49 = 0049 for Germany
- delimiter
179 area-code for the mobile-Numbers
- delimiter
xxxx = phonenumber
It seems that the tool does not convert these special chars …
is ist possible to add these feature in future?
Thanks alot!
Marry X-Mas!
Daniel
Tried using with sony ericcision phone p1i and failed to send.
failed as “+CMS ERROR: 322″
I googled for the error code and it says
322 = The memory/message storage is out of space.
But I don’t have any memory or storage issue on mac or phone.
So what would be the issue ??
I also tried to use the debug version you had, but same error and NO log file was generated.
“what is the location of the log file”
thanks.
Hi,
figured it out the reason for the 322 error code.
It seems like this plugin is sending message via SIM (does’t make sense)
my SIM card message was full.
so I deleted some message. hence had room for SIM card messages to be stored.
So now when i tried to send SMS via addressbook, vola… SMS sent and could receive it as well.
I don’t understand why should SIM card messages being full or not matter.
It doesn’t effect anything when i send SMS from mobile phone itself.
Whenever you have time , could you please give a thought on it.
thanks,
hari.
The log file should be generated as ABSMSPlugin.log in your home directory, if you can generate the logfile please send it to me and I’ll try and figure out the problem.
another question. any way to identify the version of emitSMSAddressBookPlugin being used. ??
maybe just add “about” which would show the version when you left click on the phone , similar click to sending sms.
I have been using emit sms for years on my mac and have recently come into several problems since i installed snow leopard. it worked for a while, but now it is completely useless and will stop on “opening connection” and freezes. i LOVE this widget, does anyone have an alternative solution? thanks so much!
This is brilliant and works perfectly with my Sony Ericsson. Many thanks.
Just tried with my Nokia N95, didn’t work out of the box, but this is an emitSMS fault, not plugin’s (I actually found this post searching on google for “emitsms n95, go figure…
).
In order to make it work I had to add a new serial port (modem) for my N95 here’s how to do it (I’m using OS X in italian, so I’m trying to translate the menus but may be incorrect):
- open bluetooth preferences panel
- select your phone (N95 or whatever you called it)
- click on the small wheel and choose “edit serial ports”
- click on the “+” sign
- give a name to the new serial port, i called it “N95-Modem”
- select “modem” as protocol
- select “Dial-up networking” as service
- leave everything else unchanged and save
now when you open emitSMS or this plugin, you’ll have to choose “N95-Modem” as port.
Hope this will save you some hassle…