Как отправить SMS с помощью [закрытого] Java

6
задан Aravindkumar 2 October 2010 в 14:30
поделиться

8 ответов

Вы можете использовать этот бесплатный образец Java-программы для отправки SMS с вашего ПК с помощью GSM-модема, подключенного к вашему компьютеру через COM-порт. Вам также необходимо загрузить и установить Java comm api от Sun.

Для работы этой программе требуются следующие файлы java.

  1. SerialConnection.java (Этот файл используется для подключения к вашему COM-порту из вашей Java-программы)

  2. SerialConnectionException.java (Этот файл предназначен для обработки исключений последовательного соединения в вашей Java-программе)

  3. SerialParameters.java (Эта программа используется для установки свойств вашего COM-порта для подключения к вашему COM-порту из вашей Java-программы)

  4. Sender.java (Это программа, которая реализует запускаемый и отправляет SMS через последовательное соединение)

  5. 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;


  }
}
0
ответ дан 8 December 2019 в 18:35
поделиться

Здесь вы можете найти проект Java SMS API в исходной кузнице.

Кроме того, вам понадобится Sms-шлюз для инфраструктуры. Некоторые компании предоставляют вам API, что упрощает создание программы.

2
ответ дан 8 December 2019 в 18:35
поделиться

Шаг 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`
2
ответ дан 8 December 2019 в 18:35
поделиться

Самый простой способ сделать это - найти оператора, который поддерживает отправку sms через почту ..

Пример. У вас есть Telia / Comviq / Chello или еще много чего. Если вы отправите электронное письмо на адрес; (скрыто) он отправит вашу электронную почту через sms на ваш телефон.

0
ответ дан 8 December 2019 в 18:35
поделиться

Самый простой способ сделать это - использовать SMS-шлюз.

там много, я использовал Clickatel , на который я просто отправляю XML запрос, а шлюз делает все остальное почти бесплатно.

Я сделал это с помощью java и HTTP-клиента apache commons

9
ответ дан 8 December 2019 в 18:35
поделиться

Пожалуйста, ознакомьтесь с SMSLib ( http://smslib.org ), библиотекой с открытым исходным кодом для отправки и получения SMS с помощью модема GMS или мобильного телефона. Это действительно отличная библиотека.

0
ответ дан 8 December 2019 в 18:35
поделиться

Просто получите все адреса Email-to-SMS (SMS-шлюз) сотовых телефонов и отправьте письмо на этот адрес email-to-SMS.

0
ответ дан 8 December 2019 в 18:35
поделиться

Я написал небольшую библиотеку maven для доступа к бесплатному (только для клиентов ) веб-интерфейсу швейцарских мобильных операторов Sunrise и Orange. Вы найдете исходный код на http://github.com/resmo/libjsms

0
ответ дан 8 December 2019 в 18:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: