在java中发送短信

时间:2012-04-09 08:22:51

标签: java web-applications sms sms-gateway

我有一个java类,用于通过java Web应用程序将SMS发送到手机。但我没有得到以下条款,我怎么能得到这些?

      String username = "MySMSUsername";// how to know MySMSUsername?
      String password = "MyPassword";//how to know password?
      String smtphost = "MySMSHost.com";//how to know SMSHost?
      String compression = "My SMS Compression Information";
      String from = "mySMSUsername@MySMSHost.com";
      String to = "PhoneNumberToText@sms.MySMSHost.com";
      String body = "Hello SMS World!";

完整的代码:How to send SMS using Java

4 个答案:

答案 0 :(得分:1)

从您的应用程序(Web /桌面)发送短信,您需要以下任何解决方案 1.编写代码并附上GSM设备(电话/调制解调器) 2.购买api并将其集成到您的应用程序中 3.购买和Email2SMS api然后集成

上面的代码似乎在使用任何APi,所以你可以从任何供应商处购买api,你可以google for bulksms,你会发现你所在地区的api供应商,根据你的需要注视特定的api。广告,

所有上述细节都将由他们提供。

答案 1 :(得分:1)

您指的是使用java程序发送电子邮件的代码。不使用java发送短信。

String username = "saroj"; for example
String password = "saroj123";
String smtphost = "your e-mail server host name"; you can IP address of the mail server
String compression = "this is the subject of your e-mail"; 
String from = "saroj@saroj.com";
String to = "yourfreind@abc.com";
String body = "This is the actual message content";

使用java发送电子邮件时需要所有这些信息,而不是发送短信。要发送短信,您需要配置短信网关。

答案 2 :(得分:0)

如果没有,您必须使用某些SMS提供程序API,否则您将无法获取这些信息。 SMS提供商将为您提供您的订阅username = MySMSUsername,Password,url或api,以通过Web服务,HTTP等进行呼叫,From和body将由用户通过Web应用程序提供。

答案 3 :(得分:0)

如前所述,您必须使用提供程序。 SMPP 协议需要一个 SMS 网关,并且没有免费的 SMS 网关(据我所知)。但是,一旦您找到了像 SmsGlobal 这样的 SMS 网关(有很多提供商),您就可以使用 Ogham 库为例。发送短信的代码很容易编写(它会自动处理字符编码和消息拆分)。真正的 SMS 是使用 SMPP 协议(​​标准 SMS 协议)或通过提供商发送的。 您甚至可以使用 SMPP 服务器在本地测试您的代码,以便在支付真正的 SMS 发送费用之前检查您的 SMS 的结果。

package fr.sii.ogham.sample.standard.sms;

import java.util.Properties;

import fr.sii.ogham.core.builder.MessagingBuilder;
import fr.sii.ogham.core.exception.MessagingException;
import fr.sii.ogham.core.service.MessagingService;
import fr.sii.ogham.sms.message.Sms;

public class BasicSample {
    public static void main(String[] args) throws MessagingException {
        // [PREPARATION] Just do it once at startup of your application
        
        // configure properties (could be stored in a properties file or defined
        // in System properties)
        Properties properties = new Properties();
        properties.setProperty("ogham.sms.smpp.host", "<your server host given by the provider>");                                 // <1>
        properties.setProperty("ogham.sms.smpp.port", "<your server port given by the provider>");                                 // <2>
        properties.setProperty("ogham.sms.smpp.system-id", "<your server system ID given by the provider>");                       // <3>
        properties.setProperty("ogham.sms.smpp.password", "<your server password given by the provider>");                         // <4>
        properties.setProperty("ogham.sms.from.default-value", "<phone number to display for the sender>");  // <5>
        // Instantiate the messaging service using default behavior and
        // provided properties
        MessagingService service = MessagingBuilder.standard()                                               // <6>
                .environment()
                    .properties(properties)                                                                  // <7>
                    .and()
                .build();                                                                                    // <8>
        // [/PREPARATION]
        
        // [SEND A SMS]
        // send the sms using fluent API
        service.send(new Sms()                                                                               // <9>
                        .message().string("sms content")
                        .to("+33752962193"));
        // [/SEND A SMS]
    }
}

还有许多其他的 featuressamples / spring samples