2015-06-13 18 views
1

我需要编写一个程序,应该能够通过Java编程发送短信到手机。到目前为止我所知道的是使用SMS网关并将调制解调器连接到SIM卡。如何发送短信到手机从Java程序 - 使用免费的API或Web服务

但我无法在客户机上安装SMS网关和调制解调器。 我可以使用smtp主机。

How can i use Web Service to send sms? 

您的时间和贡献将不胜感激。

+0

使用基于Web服务的短信网关,像twilio。 –

+0

非常感谢您的时间。让我检查一下。 – Abdul

+0

你可以给我一些示例代码,如果你有东西。如何在我的java程序中使用这个。 – Abdul

回答

3

使用twilio SMS网关,您可以轻松完成此操作。

import com.twilio.sdk.TwilioRestClient; 
import com.twilio.sdk.TwilioRestException; 
import com.twilio.sdk.resource.factory.MessageFactory; 
import com.twilio.sdk.resource.instance.Message; 
import org.apache.http.NameValuePair; 
import org.apache.http.message.BasicNameValuePair; 

import java.util.ArrayList; 
import java.util.List; 

public class Example { 

    // Find your Account Sid and Token at twilio.com/user/account 
    public static final String ACCOUNT_SID = "AC32a3c49700934481addd5ce1659f04d2"; 
    public static final String AUTH_TOKEN = "{{ auth_token }}"; 

    public static void main(String[] args) throws TwilioRestException { 
    TwilioRestClient client = new TwilioRestClient(ACCOUNT_SID, AUTH_TOKEN); 

    // Build a filter for the MessageList 
    List<NameValuePair> params = new ArrayList<NameValuePair>(); 
    params.add(new BasicNameValuePair("Body", "Abdul please?! I show you")); 
    params.add(new BasicNameValuePair("To", "+14159352345")); 
    params.add(new BasicNameValuePair("From", "+14158141829")); 

    MessageFactory messageFactory = client.getAccount().getMessageFactory(); 
    Message message = messageFactory.create(params); 
    System.out.println(message.getSid()); 
    } 
} 

这里是对twilio库的链接:https://www.twilio.com/docs/java/install

+0

嗨斯科特。这是免费的吗? –

+0

图书馆是免费且开源的,但您需要一个电话号码才能使用它,如果您在免费试用期后继续使用,则需要花费一美元。 –

+0

非常感谢您的支持。其实我需要一种不应该有任何限制的方式,比如我应该有电话号码,我应该支付一美元。在客户机上安装我的应用后,他不会同意这些条件。 – Abdul