Java / Grails:从应用程序发送SMS

时间:2013-03-04 11:49:29

标签: java grails sms grails-plugin

我有Grails培训管理系统(grails版本2.0.4)

我的要求

  1. 每当用户注册参加培训时,他必须收到短信提醒 注册时给出的手机号码。
  2. 仅向印度手机发送短信(因为我们仅在印度提供培训)
  3. 单向短信,从应用程序到移动设备(不需要回复)
  4. Grails有没有好的插件? 即使是java的方式也可以在grails应用程序中正常工作。

3 个答案:

答案 0 :(得分:2)

我使用Twilio作为合作伙伴的应用。这是一项付费服务​​,国际短信到印度的费率为here

有一个可用于twilio的Grails插件但是,我选择编写一些自定义代码来发送和接收消息。插件存在一些问题,我不记得了。

准系统代码看起来像:

def twilioHttpEndpointBean = new HTTPBuilder("https://api.twilio.com/2010-04-01/")
def sid = 'your SID here'
def auth_token = 'the auth token goes here'
twilioHttpEndpointBean.auth.basic(sid,auth_token)
def result = twilioHttpEndpointBean.request(Method.POST) { req -> 
    requestContentType = ContentType.URLENC
    uri.path = "Accounts/${sid}/SMS/Messages.json"
    body = [ To: <destinationPhoneNumber>, From: <mainNumberUsedToRegisterForTheService>, Body: 'your message' ]
    response.success = { resp, data ->
        def test = [status: data.status, sid: data.sid]
        return test
    }
    response.failure = { resp, data ->
        def test = [status: data.status, code: data.message]
        return test
    }
}

答案 1 :(得分:1)

有一个插件,它提供了一种通过SMS-Gateway的XMl-RPC API发送SMS的简便方法,sipgate.de,sipgate.com

使用grails install-plugin sipgate命令

安装它

和编辑帐户数据占位符&#39; conf / Config.groovy&#39;

grails.plugins.sipgate.username = 'YOUR_USERNAME'
grails.plugins.sipgate.password = 'YOUR_PASSWORD'
//According to E.164,

e.g。 &#39; 4922112345678&#39; grails.plugins.sipgate.phoneNumber = 'YOUR_PHONE'

然后注入&#39; sipgateService&#39;并发送短信

def sipgateService
def phoneNumber = '4917712345678' //phoneNumber according to E.164 specification //working alternative: def phoneNumber = '+1-719-555-1234'
def result = sipgateService.sendSMS(phoneNumber, 'This is my Text to send!')
result? println 'Sending Successful': println 'Sending failed'

答案 2 :(得分:0)

我不确定grail但是如果你想尝试使用java,那么请检查一下 smslib.org

从网站复制:

SMSLib is a programmer library for sending and receiving SMS messages via a GSM modem or mobile phone.

希望这可以帮助你!!