odoo虽然自带短信模块,但是由于不适合国内的国情,因此作用并不是很大,今天给大家带来一款本地化的短信模块——阿里云短信模块。
注册阿里云短信
首先,我们要去阿里云短信注册一个账号,通过实名认证之后,我们会得到两个关键参数:Access Key和Access Secret,这两个参数是我们之后调用短信服务的凭证,请妥善保存。
得到Key和参数之后,我们需要给我们的短信建立一个签名,用来告诉用户这条短信的发送方,短信签名需要通过人工审核以后才可以使用。
添加短信模版
由于国内短信发送愈来愈严格的趋势,我们使用阿里云发送短信时必须要使用短信模版,短信模版是一种固定了大多数文本和少量变量的短信格式。例如:”您的短信验证码是:${code}【腾讯】”,这里我们就只能传入变量code和它的值,并不能输入更多的信息。
根据我们的业务需求,在阿里云短信中添加适量的短信模版,等待人工审核通过之后,我们可以得到一个短信模版的代码。这样当我们发送短信的时候就可以根据代码指定要发送的短信模版。
安装并设置阿里云短信模块
然后,我们安装阿里云短信模块,安装完成后,到设置中,把上面的三个参数填入到设置中。
然后我们在设置-技术-Phone/SMS-阿里云短信模版中将我们要使用的短信模版添加进去:
这样我们就完成了所有的短信设置。
发送测试
设置完之后,我们可以发一条短信测试一下我们的设置是否成功。在设置-技术-Phone/SMS-短信中新建一条短信:
服务提供商这里我们选择阿里云,短信模版这里我们以短信验证码为例,我们将参数写入到短信的body体中,然后点击发送按钮,即可完成发送操作。如果发送出现错误,会在错误信息中显示出具体的出错原因:
opensoft.taoba.com
拓展
我们知道,各个企业在使用短信服务的场景各不相同,因此不可能将所有的场景涵盖在一个模块中,所幸的是,本模块拓展起来也很简单,开发者只需要在需要使用短信的场景中创建一个短信对象,然后调用send方法发送即可。
sms = self.env['sms.sms'].create({ "number":"18511112222", "service_provider": "aliyun", "aliyun_template":1, "body":"{'code':'1234'}" }) sms.send()
本模块已上架本人的淘宝店铺,欢迎选购哦