servidor - Cómo enviar SMS usando Java
libreria sms java (8)
La forma más fácil de hacerlo es encontrar un operador que admita sms a través del correo.
Ex. Tienes Telia / Comviq / Chello o lo que sea. Si envía un correo electrónico a; [email protected] enviará su correo electrónico a través de sms a su teléfono.
Deseo enviar SMS a un teléfono móvil desde una aplicación web, ¿es posible? ¿Cómo lo hago?
la forma más fácil de hacerlo es usar una puerta de enlace SMS.
hay muchos por ahí, el que he usado es Clickatel al que simplemente publico una solicitud XML y la puerta de enlace hace el resto por casi nada.
Lo he hecho usando java y Apache commons HTTP Client
Aquí puede encontrar un proyecto de Java SMS API en forge de origen.
Además de eso, necesita una puerta de enlace de Sms para la infraestructura. Algunas compañías le proporcionan API que se está volviendo tan fácil como hacer el programa.
Eche un vistazo a SMSLib ( http://smslib.org ), una biblioteca de código abierto para enviar y recibir sms usando un módem GMS o un teléfono móvil. Es realmente una gran biblioteca.
Escribí un pequeño maven lib para acceder a la interfaz web gratuita ( solo para clientes) de los operadores moblies suizos Sunrise y Orange. Usted encuentra la fuente en http://github.com/resmo/libjsms
Paso 1. Descargue Mail.jar y Activation.jar (consulte Recursos para enlaces) y guárdelo en el directorio de la biblioteca Java en la unidad local de su computadora.
Paso 2.
Inicie una nueva clase de Java en su Entorno de desarrollo integrado de Java (IDE) y asígnele el nombre "MyMobileJava.java".
Paso 3.
Ingrese las siguientes bibliotecas de Java al comienzo de su clase de Java. Estas bibliotecas incluyen los recursos requeridos de Java Mail y Communications API y otras bibliotecas de entrada / salida y clases de Internet compatibles para enviar mensajes de texto 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.*;
Paso-4 Coloque el siguiente código Java después de las instrucciones de importación de la biblioteca para crear una instancia de la clase Java y asignar valores para los mensajes de texto SMS predeterminados.
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 = "[email protected]";
String to = "[email protected]";
String body = "Hello SMS World!";
Transport myTransport = null;
Paso-5 Crea código Java para crear una nueva sesión de comunicaciones que luego se usará para configurar la información contenida en un mensaje de texto. Esta información estará preparada para ser enviada. Ingrese el siguiente código Java en su clase Java al final del código ingresado en el paso cuatro.
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());
Paso-6 Envíe el mensaje de texto conectándose a su dirección de host de SMS, guardando los cambios en el mensaje, y luego enviando la información. Para hacerlo, ingrese el siguiente código Java para finalizar la clase 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`
Puede utilizar este programa gratuito de muestra de Java para enviar SMS desde su PC utilizando un módem GSM conectado a su computadora a su puerto COM. También necesita descargar e instalar la aplicación Java Comm de Sun.
Este programa necesita los siguientes archivos java para funcionar.
SerialConnection.java (Este archivo se usa para conectarse a su puerto COM desde su programa java)
SerialConnectionException.java (Este archivo es para manejar excepciones de conexión en serie en su programa Java)
SerialParameters.java (Este programa se usa para establecer las propiedades de su puerto COM para conectarse a su puerto COM desde su programa java)
Sender.java (Este es el programa que implementa el ejecutable y envía SMS usando la conexión en serie)
SMSClient.java (Esta clase de Java es la clase principal que se puede instanciar en su propio programa Java y se llama para enviar SMS. Este programa, a su vez, utilizará internamente todos los cuatro archivos mencionados anteriormente para enviar su SMS).
Descargar Enviar SMS programas de ejemplo de Java
/*
*
* 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;
}
}
Simplemente recupere todas las direcciones de correo electrónico a SMS ( Gateway de SMS ) del teléfono celular y envíe un correo electrónico a esa dirección de correo electrónico a SMS.