0

我在 grails 中有一个培训管理系统(grails 版本 2.0.4)

我的要求

  1. 每当用户注册培训时,他必须在注册时收到关于其手机号码的短信提醒。
  2. 仅向印度手机发送短信(因为我们仅在印度提供培训)
  3. 一种方式的短信,从应用程序到手机(不需要回复)

Grails 中有什么好的插件可用吗?即使是 java 的方式在 grails 应用程序中也能正常工作。

4

3 回答 3

2

我已将 Twilio 用于合作伙伴的应用程序。这是一项付费服务​​,国际短信到印度的费率在这里

有一个可用于 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
    }
}
于 2013-03-04T12:34:24.933 回答
1

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

grails install-plugin sipgate 使用命令安装它

并在“conf/Config.groovy”中编辑帐户数据占位符

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

例如'4922112345678'grails.plugins.sipgate.phoneNumber = 'YOUR_PHONE'

然后注入' sipgateService'并发送短信

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'
于 2014-04-29T14:22:08.007 回答
0

I am not sure about grail but if you want to give it a try by using java then check this out smslib.org.

Copied from the site:

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

Hope this helps you !!

于 2013-03-04T12:09:53.840 回答