Hello,
I need to write a programm in C++ to send a sms from a PC to a mobile phone as a part in my project, so can you please help me?

Reegards,
Noora

Dani AI

Generated

Quick practical summary and next steps (building on points from , and ).

There are two realistic integration patterns: use a hosted SMS gateway (fast to integrate, scales, easier billing/delivery) or attach a local GSM modem/phone (lower recurring cost but more hardware and reliability work). Pick by expected message volume, required delivery SLAs, and whether the machine will always be online.

If you choose a gateway API: use HTTPS calls from C++. Keep a small message queue, log every API response, and implement exponential retry for transient errors. Handle encoding (UTF-8 vs the carrier charset) and long-message concatenation at the application layer. A minimal pattern with libcurl (replace placeholders with your provider fields) looks like:

#include <curl/curl.h>

CURL *c = curl_easy_init();
if(c) {
  curl_easy_setopt(c, CURLOPT_URL, "https://api.provider/send");
  curl_easy_setopt(c, CURLOPT_POSTFIELDS, "to=+12345&message=Hello&key=APIKEY");
  CURLcode res = curl_easy_perform(c);
  curl_easy_cleanup(c);
  /* check res and HTTP response codes, then parse provider response */
}

If you go device/modem route: use a robust serial library (for example Boost.Asio on Linux/Windows), run the vendor test utility first to confirm the modem/phone and drivers, and queue outgoing messages so the app can retry and persist state across restarts. For intermittent failures like those reported by , capture raw device logs and try another modem or SIM to isolate driver vs carrier issues.

For Linux projects needing a bridge/gateway layer, consider a lightweight open-source gateway rather than reimplementing transport logic. Focus on reliable logging, backoff, and clear handling of delivery reports for production use.

Recommended Answers

All 14 Replies

contact a service provider, they'll have APIs for you (at a price).

contact a service provider, they'll have APIs for you (at a price).

Thank you, but the problem the service provider they offer applications, but I need a code to add it to my software. I am going to add this sms code to my main code, so do you have any suggestion?

> but the problem the service provider they offer applications,
Find out more about what they offer, read some documentation.
Maybe it's all done through a nice DLL you can just link to.
Or maybe it's a simple command line program where you can do "sendSms number message", which would be dead easy to use from your code.

http://clusty.com/search?query=web+sms+gateway&sourceid=Mozilla-search

If you talk to the consumer helpdesk or salesrep, they will indeed give you (or sell you) a ready made piece of software (which is what mom and pop want).
You'll need to dig deeper, or maybe go to a specialised company, to get an API.

Thanks Salem and jwenting, I will contact my service provider...
Also I am thinking to use visual because it is easier to send sms using a GSM modem and I will connect the C++ and visual codes together...
Thanks again...

please give me the suggestion and cheapest way(cost) for sending sms from computer (linux)to mobile for project? and also we need code for that urgently

I've used the old Ericsson mobiles to read contents of SIM cards and to send/read SMSs. The commands are sent to the mobile using your serial port at 9600,n,8,1 - you will need to convert the RS232 level (+/- 10 volts) to TTL level (0-5 volts) - can use MAX232 or some transistors & resistors - or you can use a ready made cable (don't know where you'd get it - maybe eBay).

Then send serial AT commands to the mobile, as detailed in:
http://www.usbdeveloper.com/GSMPage/gsmpage.htm
(there may be some Nokia commands here also?)

Old Nokia phones can be used in a similar manner. I assume a different command set is required. Check out www.siliconchip.com.au as they have some projects on using Nokia phones for sending/receiving SMSs.

Simple!

I've used the old Ericsson mobiles to read contents of SIM cards and to send/read SMSs. The commands are sent to the mobile using your serial port at 9600,n,8,1 - you will need to convert the RS232 level (+/- 10 volts) to TTL level (0-5 volts) - can use MAX232 or some transistors & resistors - or you can use a ready made cable (don't know where you'd get it - maybe eBay).


thanks
it works.i connected it.but while sending sms error cms330 occured.
actually it is sms centre unknown.how will we proceed further

at
ok
at+cmgf=1
ok
at+cmgw="+91347675898908"
>msg ctrl+z
cms error330

we are trying to send message from pc to mobile by using hyperterminal using AT commands.
we have encountered a problem
while typing reciever number
at+cmgs="xxxxxxxxxxx" we got +cms:304 error
but not always.sometimes it works and we can send msg .the mobile and pc used was same.
please help us to rectify that
tnx

I've never used the cmmf=1, I've only used the default (PDU: mode 0) and it works without any probs. This does require a little extra code, but it's quite simple (packing the 7-bit characters).

I don't know which AT command guide you are looking at, but mine has completely different parameters to all the AT commands that you're sending.

I've attached the code I used to send SMSs, it's in BASIC so you'll have to convert it to C++ or I'll get kicked off this site.

hi;
i am already able to send sms by using hyper terminal. but now, i am going to add some code into to C++, so that the programe can send sms through hyper terminal. can anyone help me, pls. thanks

i need code for pc to mobile to send and recieve sms in c++

My work uses software like that can sent SMS from your computer. I think it is called Red Oxygen www.redoxygen.com but im not sure. I can send SMS from Outlook just like email. They also have an API code and it can be put into basically any program.
Hope this helps.

hy
im online on 10 pm

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.