How should I proceed? I found nothing useful googling it but some really expensive programs to connect a cell phone to the pc and use it to send the messages.
I'm willing to pay for the service and the messages will be sent to Israel and US.
I'm using C# but I'm willing to use any language.
Cheers!
The easiest way to do it is with Twilio. You can get it set up in a matter of minutes. Check out my answer Sending SMS from asp.net website for an example program of just how easy it is to send SMS with Twilio and C#.
You want to use an sms gateway that has an API. The most likely will be a REST or SOAP API that you can consume from your app.
When you need to send an SMS invoke the gateway's send method.
The gateway you choose will be influenced by which country you're in and if you need to send international sms.
As a reference we use SMS Global for AU message sending via their API, which can serve as an example of the type of thing you could expect:
http://www.smsglobal.com/en-au/technology/developers.php
Yea, for an actual sms message you will have to buy some hardware or software. A free alternative is to use sms gateways, http://en.wikipedia.org/wiki/List_of_SMS_gateways. You can send an email to 1234567890@vmoboile.ca and virgin mobile will forward that email as a text message to #1234567890. The limitation here is not every company offers this service (most major ones do) and you will have to know which company each number belongs to. Here is a list of sms gateways.
http://en.wikipedia.org/wiki/List_of_SMS_gateways
I have work on that purely through C#.
1st you need a sms modem, I live in Singapore and the vendor I got from resides in singapore too. But at home I did my own testing using my Nokia E63 handphone.
I don't have the coding at the moment, but I can tell you how to go about searching.
Using C#, I did a serial port connection (applicable too if using USB), send AT+ commands over to the modem, and the message will be sent.
To test if you phone is suitable, it can be done so using HyperTerminal. Connect your phone to the computer via the correct port and setting and send AT commands directly from there.
The best way to achieve this is to use an SMS gateway. An SMS gateway encapsulates the technicalities of interfacing with SMS carrier medium on one hand and on other hand it provides an interface for application level protocols like http, SMTP, ftp etc. to interact with it. For example, you can have a web application talking to the SMS Gateway over HTTP and the gateway on its other side will talk to the SMS centre over some proprietory protocol to send the SMS text received from the application. This way, the application need not know the low level protocols to send the SMSs.
You can lease a line to an SMS center (SMSC) if you need to send large number of bulk SMSs and configure your SMS gateway to use this lease line to send the msgs. But leasing a line is far more expensive. If you need to send small number of messages, then you can use your mobile phone in place of the leased line. Attach your mobile phone to your PC/Server and configure the Gateway to use your phone. You need to refer to your gateway documentation on interfacing your phone with the gateway. This is not very difficult but fairly simple.
There are lot of commercial gateways available in the market which can be used. But using an open source SMS gateway is a good option. You can use an open source gateway called - Kannel. Believe me, it is not very difficult to set it up and start using.