Вы можете использовать этот бесплатный образец Java-программы для отправки SMS с вашего ПК с помощью GSM-модема, подключенного к вашему компьютеру через COM-порт. Вам также необходимо загрузить и установить Java comm api от Sun.
Для работы этой программе требуются следующие файлы java.
SerialConnection.java (Этот файл используется для подключения к вашему COM-порту из вашей Java-программы)
SerialConnectionException.java (Этот файл предназначен для обработки исключений последовательного соединения в вашей Java-программе)
SerialParameters.java (Эта программа используется для установки свойств вашего COM-порта для подключения к вашему COM-порту из вашей Java-программы)
Sender.java (Это программа, которая реализует запускаемый и отправляет SMS через последовательное соединение)
SMSClient. java (Этот java-класс является основным классом, который может быть создан в вашей собственной java-программе и вызван для отправки SMS. Эта программа, в свою очередь, будет использовать все четыре вышеупомянутых файла внутри для отправки вашего SMS).
Загрузить файлы примеров программ Java для отправки SMS
/*
*
* A free Java sample program
* A list of java programs to send SMS using your COM serial connection
* and a GSM modem
*
* @author William Alexander
* free for use as long as this comment is included
* in the program as it is
*
* More Free Java programs available for download
* at http://www.java-samples.com
*
*
* Note: to use this program you need to download all the 5 java files
* mentioned on top
*
*/
public class SMSClient implements Runnable{
public final static int SYNCHRONOUS=0;
public final static int ASYNCHRONOUS=1;
private Thread myThread=null;
private int mode=-1;
private String recipient=null;
private String message=null;
public int status=-1;
public long messageNo=-1;
public SMSClient(int mode) {
this.mode=mode;
}
public int sendMessage (String recipient, String message){
this.recipient=recipient;
this.message=message;
//System.out.println("recipient: " + recipient + " message: " + message);
myThread = new Thread(this);
myThread.start();
// run();
return status;
}
public void run(){
Sender aSender = new Sender(recipient,message);
try{
//send message
aSender.send ();
// System.out.println("sending ... ");
//in SYNCHRONOUS mode wait for return : 0 for OK,
//-2 for timeout, -1 for other errors
if (mode==SYNCHRONOUS) {
while (aSender.status == -1){
myThread.sleep (1000);
}
}
if (aSender.status == 0) messageNo=aSender.messageNo ;
}catch (Exception e){
e.printStackTrace();
}
this.status=aSender.status ;
aSender=null;
}
}
Здесь вы можете найти проект Java SMS API в исходной кузнице.
Кроме того, вам понадобится Sms-шлюз для инфраструктуры. Некоторые компании предоставляют вам API, что упрощает создание программы.
Шаг 1. Загрузите Mail.jar и Activation.jar (ссылки см. В разделе Ресурсы) и сохраните в каталоге библиотеки Java на вашем локальный диск компьютера.
Шаг-2.
Запустите новый класс Java в интегрированной среде разработки Java (IDE) и назовите его «MyMobileJava.java».
Шаг-3.
Введите следующие библиотеки Java в начале вашего класса Java. Эти библиотеки включают необходимые ресурсы Java Mail и API связи, а также другие вспомогательные библиотеки ввода / вывода и Интернет-классов для отправки текстовых SMS-сообщений.
import java.io.*;
import java.net.InetAddress;
import java.util.Properties;
import java.util.Date;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
Шаг-4 Поместите следующий код Java после операторов импорта библиотеки, чтобы создать экземпляр класса Java и назначить значения для текстовых SMS-сообщений по умолчанию.
public class SMTPSend {
public SMTPSend() {
}
public void msgsend() {
String username = "MySMSUsername";
String password = "MyPassword";
String smtphost = "MySMSHost.com";
String compression = "My SMS Compression Information";
String from = "mySMSUsername@MySMSHost.com";
String to = "PhoneNumberToText@sms.MySMSHost.com";
String body = "Hello SMS World!";
Transport myTransport = null;
Шаг 5 Создайте код Java для создания нового сеанса связи, который затем будет использоваться для настройки информации, содержащейся в текстовом сообщении. Затем эта информация будет подготовлена к отправке. Введите следующий код Java в свой класс Java в конце кода, введенного на четвертом шаге.
try {
Properties props = System.getProperties();
props.put("mail.smtp.auth", "true");
Session mailSession = Session.getDefaultInstance(props, null);
Message msg = new MimeMessage(mailSession);
msg.setFrom(new InternetAddress(from));
InternetAddress[] address = {new InternetAddress(to)};
msg.setRecipients(Message.RecipientType.TO, address);
msg.setSubject(compression);
msg.setText(body);
msg.setSentDate(new Date());
Шаг 6 Отправьте текстовое сообщение, подключившись к адресу хоста SMS, сохранив изменения в сообщении и затем отправив информацию. Для этого введите следующий код Java, чтобы завершить класс Java.
myTransport = mailSession.getTransport("smtp");
myTransport.connect(smtphost, username, password);
msg.saveChanges();
myTransport.sendMessage(msg, msg.getAllRecipients());
myTransport.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] argv) {
SMTPSend smtpSend = new SMTPSend();
smtpSend.msgsend();
}
} //enter code here`
Самый простой способ сделать это - найти оператора, который поддерживает отправку sms через почту ..
Пример. У вас есть Telia / Comviq / Chello или еще много чего. Если вы отправите электронное письмо на адрес; (скрыто) он отправит вашу электронную почту через sms на ваш телефон.
Самый простой способ сделать это - использовать SMS-шлюз.
там много, я использовал Clickatel , на который я просто отправляю XML запрос, а шлюз делает все остальное почти бесплатно.
Я сделал это с помощью java и HTTP-клиента apache commons
Пожалуйста, ознакомьтесь с SMSLib ( http://smslib.org ), библиотекой с открытым исходным кодом для отправки и получения SMS с помощью модема GMS или мобильного телефона. Это действительно отличная библиотека.
Просто получите все адреса Email-to-SMS (SMS-шлюз) сотовых телефонов и отправьте письмо на этот адрес email-to-SMS.
Я написал небольшую библиотеку maven для доступа к бесплатному (только для клиентов ) веб-интерфейсу швейцарских мобильных операторов Sunrise и Orange. Вы найдете исходный код на http://github.com/resmo/libjsms