Got a tip for us? Let us know
|
|
#1 |
|
SMS Alternative
I've been using my Ymail account to get push emails to my phone and emailing the appropriate SMS gateways for each carrier. This works fine for me, but there is one big problem. I have to ask everyone their carrier and then look up the gateway and then add it to my Address Book.
NOT ANYMORE! I wrote an AppleScript to check all selected Address Book entries and automatically look them up and add them if a gateway is found. This is my first AppleScript and I didn't know it was object oriented, so I know the code is long and ugly, but it works. If anyone has a Mac and wants to SMSify their Address Book, copy this code and paste it into Script Editor. From there select any or all your Address Book cards and click run! PS: I just change the gateways to the MMS gateways found on http://en.wikipedia.org/wiki/SMS_gateways to have those too, although I can't send MMS with Yahoo, only Gmail for some reason. :P EDIT: Newer modified version by ephramz has been posted over on http://www.macosxhints.com/article.p...09070922403951 Thanks for keeping it alive and giving me credit too! Code:
-- RUNS ON SELECTED ENTRIES
-- this script adds email addresses for selected AddressBook cards
-- for the SMS gateways associated with the cellphone number provided on the card
-- This script checks for and does not act on duplicates
-- May not work 100% if number was brought from another carrier
-- beginning of bash script command
set command to "curl \"http://www.whitepages.com/carrier_lookup?carrier=att&name_0=&number_0="
-- used for parsing the webpage
set astid to AppleScript's text item delimiters
set justBefore to "<td id=\"status_column\" valign=\"middle\""
tell application "Address Book"
-- makes a list of all selected entries
set mylist to selection
-- iterates for each person
repeat with this_person in mylist
-- makes list of each phone number for this_person
set phonesList to every phone of this_person
-- iterates for each phone number
repeat with phonenumber in phonesList
-- if the phonenumber is a mobile number extract the number
if label of phonenumber is "mobile" then
-- gets the mobile number
set theNumber to value of phonenumber
-- makes mobile number URI compatable
--set theNumber to do shell script "perl -e 'use URI::Escape; print uri_escape(\"" & theNumber & "\")';"
-- removes spaces - and () and . from phone number
set illegalCharacters to {" ", "-", "(", ")", "."} -- Whatever you want to eliminate.
set replaceWith to ""
repeat with thisChar in illegalCharacters
set AppleScript's text item delimiters to {thisChar}
set theNumber to text items of theNumber
set AppleScript's text item delimiters to {replaceWith}
set theNumber to theNumber as Unicode text
end repeat
theNumber
-- adds the number and ending " to the command
set theCommand to command & theNumber & "\""
-- quotes the command to ensure & is executed fine
set quotedCommand to quoted form of theCommand
-- switches to bash and gets the source of the page as T
set T to (do shell script "/bin/bash -c " & quotedCommand)
-- begin parsing
set AppleScript's text item delimiters to justBefore
set lastPart to text item 2 of T
set AppleScript's text item delimiters to "<td>"
set X to text item 2 of lastPart
set AppleScript's text item delimiters to "</td>"
set carrier to text item 1 of X
-- reset the delimiter
set AppleScript's text item delimiters to astid
-- creates the email address for the phone number
set theEmail to ""
if carrier is "Verizon" then
set theEmail to theNumber & "@vtext.com"
end if
if carrier is "AT&T/Cingular" then
set theEmail to theNumber & "@txt.att.net"
end if
if carrier is "T-Mobile" then
set theEmail to theNumber & "@tmomail.net"
end if
if carrier is "Cellular One" then
set theEmail to theNumber & "@mobile.celloneusa.com"
end if
if carrier is "Alltel Wireless" then
set theEmail to theNumber & "@message.alltel.com"
end if
if carrier is "Sprint PCS" then
set theEmail to theNumber & "@messaging.sprintpcs.com"
end if
-- is there a dupe or no email found?
set dupe to false
-- if no email address found
if theEmail is "" then
set dupe to true
end if
-- checks all email addresses of the person for duplicates
set emailList to every email of this_person
repeat with existingMail in emailList
if value of existingMail is equal to theEmail then
set dupe to true
end if
end repeat
-- if there are no duplicates, add the new email address
if dupe is false then
make new email at end of emails of this_person with properties {label:"mobile", value:theEmail}
end if
end if
end repeat
end repeat
save addressbook
end tell
__________________
WinMatrix Profile | UbuntuForums Profile | XDA Forums Last edited by ViViDboarder; Aug 4, 2009 at 03:08 PM. |
|
|
|
0
|
|
|
#2 |
|
I'll try this out in a bit. Looks good.
Glad to see that somebody other than me use those free gateways instead of paying the carriers. I'm amazed you've managed to put up with YMail though .... |
|
|
|
0
|
|
|
#3 | |
|
Quote:
BEGGING for Push Gmail!!!
__________________
WinMatrix Profile | UbuntuForums Profile | XDA Forums |
||
|
|
0
|
|
|
#4 |
|
Awesome!!!
great work! i can't believe that someone conceived this, let alone figured it out. with mobile data on phones nowadays, why pay for SMS ever again???
|
|
|
|
0
|
|
|
#5 |
|
Once again, I wish that I had a Mac! Looks like a very clever solution!
|
|
|
|
0
|
|
|
#6 |
|
I am a complete noob. How do I execute/run this script?
|
|
|
|
0
|
|
|
#7 |
|
Put it into the Applescript editor. I'm a little confused on how it works though...
Care to explain, OP? Does it all just go through your email address? |
|
|
|
0
|
|
|
#8 |
|
Just did this to all of my contacts in my address book. Works like a charm!! Thanks!
|
|
|
|
0
|
|
|
#9 |
|
Wow. After months people are interested, haha.
Yea, you just pasted in the Applescript Editor and hit run. What it does: I found a website that lets you look up carriers of cellphone numbers. Actually, I found several, but the one that I use has the number search term in the address so I could put it into my code. Basically, it goes through all phone numbers in your address book, navigates to that website, finds the carrier name, and then it uses the email gateway to send SMS messages. I just put that in manually for each carrier that I could find the addresses for. I basically wanted to come up with something to save me a ton of time and decided I'd share it. I'd be glad to take any suggestions if you have anything.
__________________
WinMatrix Profile | UbuntuForums Profile | XDA Forums |
|
|
|
0
|
|
|
#10 |
|
So what can you do with this? It just uses your email to let you receive texts for free?
|
|
|
|
0
|
|
|
#11 |
|
Vice versa.
__________________
Host:/ #rm -rf /var/forum/trolls If only it were that easy... |
|
|
|
0
|
|
|
#12 |
|
I'm sure many people will find this useful and thanks to the OP for that, but the logic in figuring out the provider is far from 100% accurate now. All the sites/tools used to determine that were based on certain providers having certain prefixes. With number porting now, that becomes an issue. For example, in Northeast Pennsylvania any of those services will determine that a 570-604-xxxx phone number belongs to T-Mobile. However, I have family with that prefix on AT&T, Verizon, and T-Mobile. So just a warning that this will not work 100% of the time now thanks to number porting. In most cases it'll still work, but if anyone's switched carriers in the last 5 or so years, you'll probably get undeliverable SMS emails.
|
|
|
|
0
|
|
|
#13 | |
|
Quote:
__________________
WinMatrix Profile | UbuntuForums Profile | XDA Forums |
||
|
|
0
|
|
|
#14 |
|
error: can't get text item 2 of ""
i'm getting an error at this line:
set lastPart to text item 2 of T is anybody else getting this error? any suggestions? |
|
|
|
0
|
|
|
#15 |
|
question.
using the email gateways is free outgoing. But you still need a text plan to receive a reply. a) it will reduce the # of txt message you use stretching out your plan (i.e. 200 msgs will last longer since you're only getting, not sending b) if the person emails you back (not texts) than it's moot anyway since email to email is free with unlimited data. So it's a "send free" solution - not something to replace a plan... |
|
|
|
0
|
|
|
#16 | ||
|
Quote:
Quote:
__________________
WinMatrix Profile | UbuntuForums Profile | XDA Forums |
|||
|
|
0
|
|
|
#17 |
|
Update
A user took my script and posted it over at macosxhints.com (they gave me credit of course
There have been a few changes made by other users and updated versions can be found there. http://www.macosxhints.com/article.p...09070922403951 Also someone has converted it to an address book plugin.
__________________
WinMatrix Profile | UbuntuForums Profile | XDA Forums |
|
|
|
0
|
|
|
#18 |
|
Number Portability
Data24-7 offers an inexpensive service where you can look-up the carriers for your phone numbers. It is number-portability-aware; if somebody changes carriers, their new carrier will be updated in their service within a few hours.
The website is: http://www.data24-7.com Pricing is $12 per month, and $0.006 per phone number. |
|
|
|
0
|
|
|
#19 |
|
Well at least that spam is somewhat relevant...
__________________
WinMatrix Profile | UbuntuForums Profile | XDA Forums |
|
|
|
0
|
![]() |
|
«
Previous Thread
|
Next Thread
»
Similar Threads
|
||||
| thread | Thread Starter | Forum | Replies | Last Post |
| SMS Free - Send SMS worldwide for FREE! | kotsoum | iPhone and iPod touch Apps | 20 | Dec 11, 2013 04:04 AM |
| iPhone: SMS Helper Alternative? (Or a Text Message counting app?) | J41994 | Jailbreaks and iOS Hacks | 4 | Apr 15, 2013 11:31 PM |
| Searching for sms app that make purity receive sms | almansouri | iPhone and iPod touch Apps | 0 | Sep 26, 2012 05:37 AM |
| Double Sms Tone/ Sms Stutter Fixed | gagandeep90 | iPhone | 2 | Jun 3, 2012 03:15 PM |
|
All times are GMT -5. The time now is 12:51 PM.







Linear Mode
