Это зависит от того, как вы собираетесь работать и кто ваш провайдер.
Если вы работаете с компанией-шлюзом sms, вы, вероятно, будете работать по протоколу SMPP (3.4 все еще является наиболее распространенным), а затем взгляните на OpenSMPP и jSMPP. Это мощные библиотеки для работы с SMPP.
Если вы собираетесь работать с собственным оборудованием (например, gsm-модемом), самый простой способ отправки сообщений - через AT-команды, они различаются в зависимости от модели, поэтому вы должны выяснить, какие AT-команды поддерживаются. по вашему модему. Далее, если ваш модем имеет IP-адрес и открыт для подключения, вы можете отправлять команды через java-сокет
Socket smppSocket = new Socket("YOUR_MODEM_IP", YOUR_MODEM_PORT);
DataOutputStream os = new DataOutputStream(smppSocket.getOutputStream());
DataInputStream is = new DataInputStream(smppSocket.getInputStream());
os.write(some_byte_array[]);
is.readLine();
В противном случае вы будете работать через COM-порт, но метод тот же (отправка AT-команд), вы можете найти более подробную информацию о работе с последовательными портами здесь .