Apple script to send SMS via address book.
I've pair my mobile with my Mac and can send sms through address book but can i create a script to do this automactically?
Well, yes and no. Address Book's scripting dictionary knows nothing about SMS, so you can't do it through Address Book. You could conceivably use GUI scripting, but I think that would be a pain. There is a scriptable utilty from SMS MAC which looks if it might do the job - if you decide to try it I would be interested in hearing how you get on.
AK
Similar Messages
-
Apple Script to Sort through the Address Book
Dear All,
I am quite new to Apple and just a learner on Apple-scripts. Its been quite a task to learn.. I would require some help on a few things..
The script will eventually use numbers to send email and get the user inputs and any yet to reach there..
After going through lots of scripts to sort through the address book and make a clean address book, i found they are quite slow in processing takes about 20~30 Minutes to get through 2000 Contacts..
Hence after reading posting of Mr. Koenig & Mr. Hiroto and specifically on deep copy. I have written the following code which does the following on 2000 records within 6~8Mins.
The Script work its way through all the contact is the address List.. and creates Groups
1. Duplicate Email Id's — List of Contacts with same email ID's including Contacts where the email Id is entered twice.. (Strange.. Address Book Issue, copy of the email Id under work & home)
2. Duplicate Phone — List of Contacts with same Phone Numbers including Contacts where the Phone Nos is entered twice.
3. Duplicate Name — List of Contacts with Same Names
4. Duplicate No Name — List of Contacts without the First Name and Last Name
it also sort the Contacts under the following Group which you can edit later with all the information's..
1. Only Email Ids — List of Contacts with Email ID and No Phone Numbers
2. Only Phone — List of Contacts with Phone Numbers and No Email Id's
3. No Email or Phone — List of Contacts with No Email Id's and No Phone numbers (some half completed contacts )
My Question to the forum is why is the following code still taking too much time..
set onlyDupEList to every person of group theGroupEmail
repeat with j from 1 to count of Dup_email
set tempdata to item j of Dup_email
if onlyDupEList does not contain {tempdata} then add tempdata to group theGroupEmail
end repeat
save application "Address Book"
and the scripts slows down when the items in the list is quite large (over 800 or so )..
Any help is appreciated and thanks in advance..
-- the code ---
global MsgTitle
on run
set MsgTitle to "Search for Duplicates in Address Book Contacts"
display dialog ¬
"This Script takes a while to finish" & return & "maybe 10 min or More..." & return & "Depending on the Address Book Contacts." & return & return & "Hence Allow it to run for the while" with title MsgTitle ¬
with icon 1 ¬
buttons {"Continue"} ¬
giving up after 5
set question to display dialog "Select the Duplicate Search Parameter " with icon 1 with title MsgTitle ¬
buttons {"Contact Name", "Contacts on Phone & Email Id's", "Quit"} default button 3
set rtnValue to button returned of question
if rtnValue is "Quit" then
-- tell application "Address Book" to quit
tell me to quit
end if
if rtnValue is "Contact Name" then
-- tell application "Address Book" to quit
GetDup_byName("Duplicate Name")
end if
if rtnValue is "Contacts on Phone & Email Id's" then --Contacts on Phone & Email Id's
-- tell application "Address Book" to quit
Get_dup()
end if
end run
--- Search on Name Field ---
on GetDup_byName(theGroupName)
set question to display dialog "Do you want to search for duplicates based on Names? " with icon 0 with title MsgTitle ¬
buttons {"Continue", "Quit"} default button 1
set rtnValue to button returned of question
if rtnValue is "Quit" then
-- tell application "Address Book" to quit
tell me to quit
end if
tell application "Address Book"
activate
set biglist to {}
set NoNameList to {}
set theGroupNoName to "Duplicates No Names"
set theGroup to theGroupName
-- if not (exists (group "Dupilicate Entries")) then
if not (exists (group theGroup)) then
make new group with properties {name:theGroup}
save
end if
if not (exists (group theGroupNoName)) then
make new group with properties {name:theGroupNoName}
save
end if
set the_names to name of people
repeat with i from 1 to number of items in the_names
set theName to item i of the_names
-- return theName
if theName is not in biglist then
copy theName to end of biglist
else
set counter to (people whose name is theName)
if (count of counter) > 1 then
repeat with i from 1 to number of items in counter
set this_item to item i of counter
-- display dialog this_item
add this_item to group theGroup
end repeat
-- return counter as string
end if
end if
-- captures the Contacts without Name ---
if theName contains "@" then
-- display dialog theName
set counterList to (people whose name is theName)
repeat with i from 1 to number of items in counterList
set this_item to item i of counterList
-- display dialog this_item
add this_item to group theGroupNoName
end repeat
end if
-- save application "Address Book"
end repeat
save application "Address Book"
set peopleCount to (count every person)
-- set peopleCount to 50 -- only for testing --
repeat with i from 1 to peopleCount
set first_name to first name of person i as string
set Last_Name to last name of person i as string
if first_name is equal to "missing value" and Last_Name is equal to "missing value" then
-- display dialog first_name & " : " & Last_Name
set end of NoNameList to (id of person i)
end if
end repeat
repeat with j from 1 to the count of NoNameList
set tempdata to item j of NoNameList
-- set testdata to person id tempdata
-- if (name of groups of testdata does not contain theGroupNoEmail) then
add tempdata to group theGroupNoName
-- end if
end repeat
save application "Address Book"*)
display dialog ¬
"This Script Finished Processing Address Book Contacts the Duplicates are in the group" with title MsgTitle ¬
with icon 1 ¬
buttons {"Continue"} ¬
giving up after 5
end tell
end GetDup_byName
on Get_dup()
set question to display dialog "Do you want to search for duplicates based on Names? " with icon 0 with title MsgTitle ¬
buttons {"Continue", "Quit"} default button 1
set rtnValue to button returned of question
if rtnValue is "Quit" then
-- tell application "Address Book" to quit
tell me to quit
end if
tell application "Address Book"
activate
set theGroupEmail to "Duplicate Email Id's"
set theGroupPhone to "Duplicate Phone"
set theGroupNoEmail to "Only Phone Numbers"
set thegroupNoPhone to "Only Email Id's"
set theGroupNoData to "No Email or Phone"
-- set theGroup to theGroupName
if not (exists (group theGroupEmail)) then
make new group with properties {name:theGroupEmail}
save "Address Book"
end if
if not (exists (group theGroupPhone)) then
make new group with properties {name:theGroupPhone}
save "Address Book"
end if
if not (exists (group theGroupNoEmail)) then
make new group with properties {name:theGroupNoEmail}
save "Address Book"
end if
if not (exists (group thegroupNoPhone)) then
make new group with properties {name:thegroupNoPhone}
save "Address Book"
end if
if not (exists (group theGroupNoData)) then
make new group with properties {name:theGroupNoData}
save "Address Book"
end if
set ListofPeople to people --the_ID
set ListofEmailID to value of emails of people --the_emails
-- return ListofEmailID
set ListofPhones to value of phone of people -- the_phones
-- return ListofPhones
set biglist to {}
set ListEmail_Uniq to {}
set ListEmail_Dup to {}
set No_PhoneList to {}
set No_EmailList to {}
set No_dataList to {}
set FlagEmail to false
set FlagPhone to false
-- repeat with i from 1 to number of items in the_emails
repeat with i from 1 to count of ListofEmailID
set thePersonID to item i of ListofPeople
set theEmails to item i of ListofEmailID
if theEmails is equal to {} then
set end of No_EmailList to thePersonID
else
-- set FlagEmail to true
repeat with j from 1 to count of theEmails
set tmpdata to item j of theEmails
-- return tmpdata
if tmpdata is not in biglist then
set end of biglist to tmpdata
set end of ListEmail_Uniq to {tmpdata} & {thePersonID}
else
set end of ListEmail_Dup to {tmpdata} & {thePersonID}
end if
end repeat
end if
end repeat
-- return ListEmail_Uniq
-- return ListEmail_Dup
-- save application "Address Book"
set biglist to {}
set ListPhone_Uniq to {}
set ListPhone_Dup to {}
-- repeat with i from 1 to number of items in the_emails
repeat with i from 1 to count of ListofPhones
set thePersonID to item i of ListofPeople
set thePhones to item i of ListofPhones
if thePhones is equal to {} then
set end of No_PhoneList to thePersonID
else
-- set FlagPhone to true
repeat with j from 1 to count of thePhones
set tmpdata to item j of thePhones
-- return tmpdata
if tmpdata is not in biglist then
set end of biglist to tmpdata
set end of ListPhone_Uniq to {tmpdata} & {thePersonID}
else
set end of ListPhone_Dup to {tmpdata} & {thePersonID}
end if
end repeat
end if
end repeat
-- return ListPhone_Uniq
-- return ListPhone_Dup
set the Dup_email to {}
-- Find the Duplicates from the sorted list --
repeat with i from 1 to the count of ListEmail_Dup
set tempdata to item i of ListEmail_Dup
set dataEmailDup to item 1 of tempdata
set dataPersonDup to item 2 of tempdata
repeat with j from 1 to the count of ListEmail_Uniq
set tempdata to item j of ListEmail_Uniq
set dataEmailUniq to item 1 of tempdata
set dataPersonUniq to item 2 of tempdata
-- display dialog mainEmail1 & "=" & mainEmail2 & " " & mainID1 & "=" & mainID2
if dataEmailDup is equal to dataEmailUniq then
set end of Dup_email to dataPersonDup -- & "," & dataPersonUniq
set end of Dup_email to dataPersonUniq
end if
(* -- the code takes lot more time if add to group was used --
if dataEmailDup is equal to dataEmailUniq then
set testdata to person id dataPersonDup
add testdata to group theGroup
set testdata to person id dataPersonUniq
add testdata to group theGroup
end if
end repeat
end repeat
-- return Dup_email
set the Dup_Phone to {}
-- Find the Duplicates from the sorted list --
repeat with i from 1 to the count of ListPhone_Dup
set tempdata to item i of ListPhone_Dup
set dataPhoneDup to item 1 of tempdata
set dataPersonDup to item 2 of tempdata
repeat with j from 1 to the count of ListPhone_Uniq
set tempdata to item j of ListPhone_Uniq
set dataPhoneUniq to item 1 of tempdata
set dataPersonUniq to item 2 of tempdata
-- display dialog mainEmail1 & "=" & mainEmail2 & " " & mainID1 & "=" & mainID2
if dataPhoneDup is equal to dataPhoneUniq then
set end of Dup_Phone to dataPersonDup -- & "," & dataPersonUniq
set end of Dup_Phone to dataPersonUniq
end if
(*if dataPhoneDup is equal to dataPhoneUniq then
set testdata to person id dataPersonDup
add testdata to group theGroup
set testdata to person id dataPersonUniq
add testdata to group theGroup
-- save
end if*)
end repeat
end repeat
-- return Dup_Phone
set onlyDupEList to every person of group theGroupEmail
repeat with j from 1 to count of Dup_email
set tempdata to item j of Dup_email
if onlyDupEList does not contain {tempdata} then add tempdata to group theGroupEmail
end repeat
save application "Address Book"
set onlyDupPList to every person of group theGroupPhone
repeat with j from 1 to count of Dup_Phone
set tempdata to item j of Dup_Phone
if onlyDupPList does not contain {tempdata} then add tempdata to group theGroupPhone
end repeat
save application "Address Book"
set onlyPhoneList to every person of group theGroupNoEmail
repeat with j from 1 to the count of No_EmailList
set tempdata1 to item j of No_EmailList
if No_PhoneList does not contain {tempdata1} then
if onlyPhoneList does not contain {tempdata1} then add tempdata1 to group theGroupNoEmail
end if
(*set flagE to false
repeat with i from 1 to the count of No_PhoneList
set tempdata2 to item i of No_PhoneList
if tempdata1 is equal to tempdata2 then
set flagE to true
exit repeat
end if
end repeat
if flagE is false then add tempdata1 to group theGroupNoEmail*)
end repeat
save application "Address Book"
set onlyEmailList to every person of group thegroupNoPhone
repeat with j from 1 to the count of No_PhoneList
set tempdata1 to item j of No_PhoneList
if No_EmailList does not contain {tempdata1} then
if onlyEmailList does not contain {tempdata1} then add tempdata1 to group thegroupNoPhone
end if
end repeat
save application "Address Book"
set onlyList to every person of group theGroupNoData
repeat with i from 1 to count of ListofPeople
if (item i of ListofEmailID is equal to {}) and (item i of ListofPhones is equal to {}) then
set tempdata to item i of ListofPeople
if onlyList does not contain {tempdata} then add tempdata to group theGroupNoData
end if
end repeat
save application "Address Book"
display dialog ¬
"This Script Finished Processing Address Book Contacts the Duplicates are in the group" with title MsgTitle ¬
with icon 1 ¬
buttons {"Continue"} ¬
giving up after 5
end tell
end Get_dup
on quit
--set MsgTitle to "Change Email ID's Domain Name"
save application "Address Book"
display dialog "Contact Srikanth Kamath at [email protected] for any Help" with title MsgTitle with icon 1 buttons "OK"
continue quit
end quitHello Srikanth Kamath,
I'm not sure you're still following this thread, but anyway here's sample code I said I'd post later.
--SCRIPT2
main()
on main()
script o
-- input data
property xx : {1, 2, 3, 4, 5} -- list of parents
property yy : {{"g", "h"}, {"a", "b"}, {"b", "e", "f"}, {"e"}, {"c", "d"}} -- list of children per parent
-- work list
property pp : {} -- list of children tagged by parent; i.e, lits of {child, parent}
property qq : {}
property rr : {}
-- (1) build list of children tagged by parent
repeat with i from 1 to count my xx
set x to my xx's item i
set y to my yy's item i
repeat with p in y
set end of my pp to {p's contents, x}
end repeat
end repeat
--return pp -- {{"g", 1}, {"h", 1}, {"a", 2}, {"b", 2}, {"b", 3}, {"e", 3}, {"f", 3}, {"e", 4}, {"c", 5}, {"d", 5}}
-- (2) sort tagged list by child as key
msort(my by_key1, my pp)
--return pp -- {{"a", 2}, {"b", 2}, {"b", 3}, {"c", 5}, {"d", 5}, {"e", 3}, {"e", 4}, {"f", 3}, {"g", 1}, {"h", 1}}
-- (3) retrieve parents with duplicate child
(* retrieve list of {child, parent} for duplicate child *)
set my qq to uniq(my eq_key1, my pp, {_dup:true})
--return qq -- {{"b", 2}, {"b", 3}, {"e", 3}, {"e", 4}}
(* retrieve list of parent *)
repeat with q in my qq
set r to q's item 2
if r is not in my rr then set end of my rr to r
end repeat
return rr -- {2, 3, 4}
end script
tell o to run
end main
on by_key1(x, y)
msort's comparator for list of lists
key = item 1, ascending
returns true iff x and y are out of order
return x's item 1 > y's item 1
end by_key1
on eq_key1(x, y)
uniq's comparator for list of lists
key = item 1
returns true iff x and y are considered equal
return x's item 1 = y's item 1
end eq_key1
on msort(cmp_, aa) -- v1.2f2
Basic recursive merge sort handler having list sorted in place.
handler cmp_ : comparator
* cmp_(x, y) must return true iff list element x and y are out of order.
list aa : list to be sorted in place
script o
property parent : {} -- limit closure to minimum
property xx : aa -- to be sorted in place
property xxl : count my xx
property yy : {}
property cmp : cmp_
on merge(p, q, r)
property xx: source list
integer p, q, r : absolute indices to specify range to be merged such that
xx's items p thru r is the target range,
xx's items p thru (q-1) is the first sublist,
xx's items q thru r is the second sublist.
(p < q <= r)
local i, j, k, xp, xr, yi, yj, ix, jx
if r - p = 1 then
set xp to my xx's item p
set xr to my xx's item r
if my cmp(xp, xr) then
set my xx's item p to xr
set my xx's item r to xp
end if
return -- exit
else
if p < q - 1 then merge(p, (p + q) div 2, q - 1)
merge(q, (q + r + 1) div 2, r)
end if
At this point, sublits xx[p, q-1] and xx[q, r] have been already sorted (p < q <= r)
if my cmp(my xx's item (q - 1), my xx's item q) then
else -- xx[p, q-1] & xx[q, r] are already sorted
return
end if
set yy to my xx's items p thru r -- working copy for comparison
set ix to q - p
set jx to r - p + 1
set i to 1
set j to q - p + 1
set k to p
set yi to my yy's item i
set yj to my yy's item j
repeat
if my cmp(yi, yj) then
set my xx's item k to yj
set j to j + 1
set k to k + 1
if j > jx then
set my xx's item k to yi
set i to i + 1
set k to k + 1
repeat until k > r
set my xx's item k to my yy's item i
set i to i + 1
set k to k + 1
end repeat
return
end if
set yj to my yy's item j
else
set my xx's item k to yi
set i to i + 1
set k to k + 1
if i > ix then
set my xx's item k to yj
set j to j + 1
set k to k + 1
repeat until k > r
set my xx's item k to my yy's item j
set j to j + 1
set k to k + 1
end repeat
return
end if
set yi to my yy's item i
end if
end repeat
end merge
on cmp(x, y)
(* primary comparator *)
return x > y
end cmp
local d, i, j
if xxl ≤ 1 then return
if cmp_ = {} then set my cmp to cmp -- comparator fallback
my merge(1, (xxl + 1) div 2, xxl)
end script
tell o to run
end msort
on uniq(eq_, aa, {dup:dup}) -- v0.21
handler eq_ : comparator eq_(x, y) that returns true iff x and y are considered equal
list aa : pre-sorted list
(precisely, a list organized such that any duplicate items are adjacent to each other)
boolean _dup : option whether return unique items or duplicate items
return duplicate if true, unique otherwise.
script o
property parent : {} -- limit closure to minimum
property xx : aa
property yy : {}
property eq : eq_
on eq(x, y)
(* primitive comparator *)
x = y
end eq
if eq_ = {} then set my eq to my eq -- comparator fallback
local t, x, _on
if (count my xx) < 2 then return my xx's contents
if _dup then
set _on to false
set t to my xx's item 1
repeat with i from 2 to count my xx
set x to my xx's item i
if eq(x, t) then
set end of my yy to t
set _on to true
else if _on then
set end of my yy to t
set _on to false
end if
set t to x
end repeat
if _on then set end of my yy to x
return my yy's contents -- return duplicate elements
else
set t to my xx's item 1
set end of my yy to t
repeat with i from 2 to count my xx
set x to my xx's item i
if eq(x, t) then
else
set end of my yy to x
set t to x
end if
end repeat
return my yy's contents -- return uinque elements
end if
end script
tell o to run
end uniq
--END OF SCRIPT2
In order to apply it to your current Address Book problem, replace the main() handler with something like the following one.
--SCRIPT2a (part)
on main()
script o
-- input data
property xx : {} -- list of parent; given later
property yy : {} -- list of children per parent; given later
-- work list
property pp : {} -- list of children tagged by parent; i.e, lits of {child, parent}
property qq : {}
property rr : {}
-- (0) get input data from AB
tell application "Address Book"
tell people
set xx to its id
set yy to its every email's value
end tell
end tell
-- (1) build list of children tagged by parent *)
(* omitted (same as the previous) *)
-- (2) sort tagged list by child as key
(* omitted (same as the previous) *)
-- (3) retrieve parents with duplicate child
(* omitted (same as the previous) *)
-- (4) group the retrieved people in AB
tell application "Address Book"
repeat with r in my rr
add person id r to group "duplicate email"
end repeat
end tell
end script
tell o to run
end main
--END OF SCRIPT2a
Good luck,
Hiroto
Message was edited by: Hiroto -
S700i and send sms from Address Book.
Hi,
I done a search for an answer but didn't find anything.
Is it possible when in Address Book in osx 10.4.3 to select a mobile phone number and 'send sms'?
This used to work but now doesn't.
Is there anything I can do to fix this?
Thanks.
LelIt works for me. I have an Nokia 8800 paired via bluetooth.
Right click/control click on the phone number, and the option to send an SMS is there.
It only works with the phone paired though. Make sure the Bluetooth button in Address Book is coloured blue. -
E71: Sending SMS from Address Book (Mac OS 10.4.11...
Is anyone using an E71 with a Mac?
It is supposedly possible to send an SMS from within Mac's Address Book, but I can't successfully do this despite the two gadgets having been paired and the Bluetooth icon appearing in the Address Book top bar.
Do I need a plug-in or something?
Thanks.
Message Edited by jbalcoreza on 19-Nov-2008 05:40 PMI don't think it's possible. I have the iSync plugin from Nokia (http://www.nokia.com.au/A4630409) and that's just for syncing your contacts between your E71 and Address Book as well as your calendar events. As for the feature you're looking for regrettably that's not available.
visit my blog at http://wytchecraft-blog.blogspot.com/ -
Hi
I'v been sending texts via address book no probs. A friend said when you receive a text it should pop up on the computer screen this does not happen for me. However when i receive a call this does show up on the screen. So should it work with texts also?
JohnNot all phones are fully compatible. With my Nokia 6750 I can send SMS from the Mac, and the Nokia will flag an incoming call on the Mac, but I can't receive SMS on the Mac.
AK -
Using Address Book to send SMS via Bluetooth
Hi all,
I recently upgraded to 10.4.6 (from 10.4.5) to take advantage of the new iSync support for the Nokia N70.
(I had previously been using a modified Metaclasses.plist hack for this and prior to the upgrade to .6, restored the original .plist)
I also followed the advice in Apple article 303419 about removing the phone from iSync.
So, upgrade fine and re paired phone with iSync but now find that I can no longer use Address Book to send SMS message or dial a call to current contact.
This worked fine with the hack!
Any ideas?
B
1 GHz PowerPC G4 Mac OS X (10.4.6)I am using OS X10.4.6 via Bluetooth connecting to Nokia N70 also. I have no problem with iSync and file transfer. But I can NOT send and receive SMS from Address book.
Roger Hong
iBook G4 Mac OS X (10.4.6) -
Sending an SMS via adress book and my Phone
I have an SE K800i, How do I send SMS and Call via address book and my phone when it is connected via blutooth ?
I know it can be done but I don't know how to do it.
Many ThanksHi,
I recently picked up the same phone, ie the Sony Eric K800i and have been trying to get the 'send sms message' through the address book. I know this works 'cos i had a previous sony ericsson model and it worked fine but with this unit it doesn't seem to push it through.
Where am i going wrong?....... I've set my device up with the Bluetooth *** and paired it and clicked on the button in the top corner of the address book ........ but to no avail,...... can anyone help.
Thanks
Robert -
Unable to send mail to importet contacts via address book
Hi all,
I've searched the web without finding a solution to my issue with one of my users, so I had to create my own thread.
My issue is that one of my newly employed users importet a large amount of contacts (over 3000) from his previous workplace (which worked after a little trouble via manually importing a .pst file), but when he tries to add contacts to a mail via address
book and send the mail, he receives a mail back with "the following recipient(s) cannot be reached"
I can resolve the issue by copying the mail address, under the contacts profile, and pasting it in the "Email" field, basically retyping the same mail. The mail will then go through without any return mail stating the above error. I could do the
same for all 3000 contacts, BUT that is a lot of time needed, which I would really like to avoid.
We are running Exchange 2010 and Office 2013.
I'm hoping for a fix from one of the clever minds in here!
Thanks in advance!Hi,
Does the issue happen when sending mails to all these 3000 contacts? Please send test message by adding other contacts to a mail via Contacts in Address Book to check whether the issue can be reproduced.
Please make sure the latest patches and service packs are installed for your Outlook 2013. Additionally, please try the following test to narrow down the issue:
1. Please switch to People panel in Outlook, click a imported contact, click Email in HOME tab. Then send a message to check whether this message can be sent successfully.
2. Please open the Contact PST file in Outlook instead of import PST file. Then do step 1 to send test message and check whether the issue persists.
If the issue doesn’t happen when sending message to contacts in opened PST file, it indicates the Contacts which is saved in the PST file should be correct. The issue may be related to Contact resolved in Outlook client. Please create a new Outlook contact
or create a new Outlook profile to have a try.
Regards,
Winnie Liang
TechNet Community Support -
Problems with sending SMS from adress book
Hi all,
I have a new Kotorola MOTOKRZR K1 here.
The Bluetooth connection with iMac is ok. I can send data to phone and I can receive data from phone, but I can't send SMS from adress book v4.0.5 (487) to the phone.
The bluetooth button in adress book is disabled. I can click on this button, but address book open in this case always a dialog: "Pair with bluetooth device".
When I click on the "pair" button, then I can enter my access code vor the phone.
It is the access code from Bluetooth Assistant program for the phone.
my question is, Is here a user, who can send a SMS with MOTOKRZR K1 from adress book?
With my old Siemens S55 is this no problem.
Sorry for my very bad english.
Greetings, Bermddid this ever get resolved?
-
Was anyone succesful in sending sms with adress book through motorola phone
Hello,
was anyone? There is here and there posts one the topic but it is unclear to me is there a general solution or just people succesful?
What is weird that apple official list of supported phones has my motorola v535 phone. It is detected correctly by bluetooth assistant, but adress book service is not listed as available. Though apple list says both isinc and adress book services are available for this phone.
Anyone any ideas?I just got a Motorola E815 and found out that in order to access the phone via Address Book like you said I need Tiger. I've been thinking of upgrading.
I did get my iBook to use the cell phone as a dialup modem over bluetooth, but then found out that Verizon doesn't allow it. (another story altogether. grumble grumble) -
Sending SMS via Bluetooth not working
Hi,
I have two Nokia phones, an N73 and an older 6600. I was able to pair both with the Bluetooth in my MacBook Pro SR.
I can access the web via dial-up networking, so that's working fine.
However, I am unable to send SMS via AddressBook over the phone. When I click the little connect-to-bluetooth button in AddressBook, I am first asked to pair the phone - even though it's already paired, and connects automatically on both the computer and the phone. Then, when I do enter the code on the phone, the connection just fails. The button gets a slight blue outline but the B symbol doesn't actually light up as it should.
Send SMS remains grayed out.
Has anybody got this to work or know what could be wrong?
PS: I am able to send SMS on Windows using MS SMS Sender, so I am sure that it's not the phone's fault.
This worked fine with my Titanium Powerbook with USB Bluetooth dongle.Thanks for the response, but that's not it. The N73 is listed as supported, and iSync works perfectly well. Dial-Up networking also works perfectly well.
Only sending SMS via bluetooth doesn't work.
Also - no idea if this is related - faxing via the 6600 doesn't work anymore, which is strange because it used to work on the TiBook. Most people don't even know you can fax via Bluetooth phone and most newer phones have lost this capability so I guess this is just on its way out. Too bad because it was pretty useful... -
Problem in sending SMS via using java communication API
I need to send SMS via my sony ericsson Z530i. It is connected to the com5 port of my system. I got the following code.
import java.io.*;
import java.util.BitSet;
import javax.comm.*;
import java.lang.*;
public class SerialToGsm {
InputStream in;
OutputStream out;
String lastIndexRead;
String senderNum;
String smsMsg;
SerialToGsm(String porta) {
try {
// CommPortIdentifier portId = CommPortIdentifier.getPortIdentifier("com5");
CommPortIdentifier portId = CommPortIdentifier.getPortIdentifier(porta);
SerialPort sp = (SerialPort)portId.open("Sms_GSM", 0);
sp.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
sp.setFlowControlMode(sp.FLOWCONTROL_NONE);
in = sp.getInputStream();
out = sp.getOutputStream();
// modem reset
sendAndRecv("+++AT", 30); // delay for 20 sec/10
sendAndRecv("AT&F", 30);
sendAndRecv("ATE0", 30); // echo off
sendAndRecv("AT +CMEE=1", 30); // verbose error messages
sendAndRecv("AT+CMGF=0", 70); // set pdu mode
// sendAndRecv("AT V1E0S0=0&D2&C1", 1000000);
catch (Exception e) {
System.out.println("Exception " + e);
System.exit(1);
private String sendAndRecv(String s, int timeout) {
try {
// clean serial port input buffer
in.skip(in.available());
System.out.println("=> " + s);
s = s + "\r"; // add CR
out.write(s.getBytes());
out.flush();
String strIn = new String();
for (int i = 0; i < timeout; i++){
int numChars = in.available();
if (numChars > 0) {
byte[] bb = new byte[numChars];
in.read(bb,0,numChars);
strIn += new String(bb);
// start exit conditions
if (strIn.indexOf(">\r\n") != -1) {
break;
if (strIn.indexOf("OK\r\n") != -1){
break;
if (strIn.indexOf("ERROR") != -1) { // if find 'error' wait for CR+LF
if (strIn.indexOf("\r\n",strIn.indexOf("ERROR") + 1) != -1) {
break;
Thread.sleep(100); // delay 1/10 sec
System.out.println("<= " + strIn);
if (strIn.length() == 0) {
return "ERROR: len 0";
return strIn;
catch (Exception e) {
System.out.println("send e recv Exception " + e);
return "ERROR: send e recv Exception";
public String sendSms (String numToSend, String whatToSend) {
ComputeSmsData sms = new ComputeSmsData();
sms.setAsciiTxt(whatToSend);
sms.setTelNum(numToSend);
// sms.setSMSCTelNum("+393359609600"); // SC fixed
String s = new String();
s = sendAndRecv("AT+CMGS=" + (sms.getCompletePduData().length() / 2) + "\r", 30);
// System.out.println("==> AT+CMGS=" + (sms.getCompletePduData().length() / 2));
// System.out.println("<== " + s);
if (s.indexOf(">") != -1) {
// s = sendAndRecv(sms.getSMSCPduData() + sms.getCompletePduData() + "\u001A"); // usefull one day?
// System.out.println("Inviero questo >>>> " + sms.getCompletePduData());
// if this sintax won't work try remove 00 prefix
s = sendAndRecv("00" + sms.getCompletePduData() + "\u001A", 150);
// System.out.println("<== " + s);
return s;
else {
return "ERROR";
// used to reset message data
private void resetGsmObj() {
lastIndexRead = null;
senderNum = null;
smsMsg = null;
public String checkSms (){
String str = new String();
String strGsm = new String();
strGsm = sendAndRecv("AT+CMGL=0", 30); // list unread msg and sign them as read
// if answer contain ERROR then ERROR
if (strGsm.indexOf("ERROR") != -1) {
resetGsmObj();
return strGsm; // error
strGsm = sendAndRecv("AT+CMGL=1", 30); // list read msg
// if answer contain ERROR then ERROR
if (strGsm.indexOf("ERROR") != -1) {
resetGsmObj();
return strGsm; // error
// evaluate message index
if (strGsm.indexOf(':') <= 0) {
resetGsmObj();
return ("ERROR unexpected answer");
str = strGsm.substring(strGsm.indexOf(':') + 1,strGsm.indexOf(','));
str = str.trim(); // remove white spaces
// System.out.println("Index: " + str);
lastIndexRead = str;
// find message string
// look for start point (search \r, then skip \n, add and one more for right char
int startPoint = strGsm.indexOf("\r",(strGsm.indexOf(":") + 1)) + 2;
int endPoint = strGsm.indexOf("\r",startPoint + 1);
if (endPoint == -1) {
// only one message
endPoint = strGsm.length();
// extract string
str = strGsm.substring(startPoint, endPoint);
System.out.println("String to be decoded :" + str);
ComputeSmsData sms = new ComputeSmsData();
sms.setRcvdPdu(str);
// SMSCNum = new String(sms.getRcvdPduSMSC());
senderNum = new String(sms.getRcvdSenderNumber());
smsMsg = new String(sms.getRcvdPduTxt());
System.out.println("SMSC number: " + sms.getRcvdPduSMSC());
System.out.println("Sender number: " + sms.getRcvdSenderNumber());
System.out.println("Message: " + sms.getRcvdPduTxt());
return "OK";
public String readSmsSender() {
return senderNum;
public String readSms() {
return smsMsg;
public String delSms() {
if (lastIndexRead != "") {
return sendAndRecv("AT+CMGD=" + lastIndexRead, 30);
return ("ERROR");
}When i compile, there is no error. But when i execute it, the following error comes:
E:\java\JavaSmsApi>javac SerialToGsm.java
E:\java\JavaSmsApi>java SerialToGsm
Exception in thread "main" java.lang.NoSuchMethodError: main
What might be the error? Somebody help me. Thanks in advance.You are probably trying to run this as a CLDC application instead of a MIDP application (aka a MIDLet). Since CLDC apps start with a main(....) your runtime looks for one but does not find it, hence the error. Please recheck the project configuration.
-
Best app for send sms via email?
Anyone got any idea what the best app is to download to send sms via email?
I downloaded text-free yesterday, but doesnt work and the message keeps bouncing back to my email in box as a failed mail delivery!!
I am in the UK in case that makes a difference!!If you want to text people for free, i highly recommened AIM application. Its an IM app built in with an feature that allows you to text anyone on your contacts for free. Just let them know that its you texting them the first time.
-
What happend to SMS in Address Book, I sure miss it !!
Please bring it back in 10.5.1, thanks.Well, I can tell you that many thousands of Sony Ericsson phone owners use it because thousands are using Feisar's "Address Book Enabler", which now no longer works with Leopard.
Then there's also all the owners of natively supported phones, plus the users of nova media's Address Book Phone Plugins.
So, I would say that yes, many people did use it.
However, the lack of response is probably more to do with the fact that Leopard's only been out a few hours, not everyone who upgraded will have noticed yet, and not everyone has upgraded anyway. -
I need an Apple Script to send a generic email without it opening Mail does anyone know how to do this?
You need to have an open application to script. This is so even if you use Bash and postfix. I advise that you use AppleScript and let it open Mail.
Maybe you are looking for
-
Multiple copies of ASDM on the Mac?
Is it possible to run multiple copies of ASDM on the Mac so that I can be connected to multiple ASAs via ASDM at the same time? I can do this on a PC with no problem, but I can't seem to figure out how to do this on the Mac. Thanks, Jim
-
HT201318 icloud storage and how to use it.
pls will some 1 explain to me in simple terms how to move my data off my iphone onto the £28 a year icloud storage im paying for but do not have a clue how to use !! i cant even take pic's on my fone now as stating not enough mem, but i've got 20 GB
-
Hi, I have a Web site that uses a dreamweaver template. In this template, I've inserted 10 swf files. These files were created with Studio MX and the swfs don't play correctly in IE 7 beta (they show up with that grey border and I have to click them
-
Copy Input Ready Query Variables into Planning Sequence
Hi all, We have the following scenario. We developed a model using Web Template. The model has an input ready query and a Panning sequence associated with it. Both of them using the same Planning Filter that has a input variable for Profit Cen
-
I can not open a PNG file or convert my files to PNG. any help?