阿里云短信服务接入

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m0_37263637/article/details/81535022

最近需要在邮件注册服务上接入手机号注册功能,这里就涉及到短信验证码。

看来下AWS的方案如果不使用AWS中国服务,在东京发短信,一条成本就在0.06~0.09美元,阿里云0.045¥一条。
所以把方案换成了阿里云短信方案, 但阿里云短信会审核短信内容,一般只能用来发发验证码。

官方引导文档:https://help.aliyun.com/document_detail/59210.html?spm=a2c4g.11186623.6.544.3Bu2bY
文档非常详细,一直觉得阿里云的文档比AWS写的好多了。

如果原来使用过阿里云流程会比较简单。下面分成两部分来讲:

  • 1 配置阿里云短信服务
  • 2 使用SDK编码

1 配置阿里云短信服务

引导文档:https://help.aliyun.com/document_detail/59210.html?spm=a2c4g.11186623.6.544.3Bu2bY

1.1 入驻阿里云(原来使用过这步可省略)

1.2 申请短信服务

去阿里云后台找短信服务开启即可

1.3 创建相应服务ARN 并得到accessKey 和 Access Key secret。

即为短信服务创建单独账户并分配权限及连接凭证

1.4 创建短信模板

这点特别恶心,阿里云发短信必须要短信签名和短信模板
短信签名:即短信开头那个【阿里巴巴】
短信模板:即固定的短信格式,可传入变量,实现发送验证码。
以上两个均需要阿里云审核,个人短信签名,阿里云强制要求用本人真实签名,否则就要提供很多证件。

以上4部分完成,我们即可得到短信签名 短信模板编号 accessKeyID accessSecret

2 使用SDK编程

环境:nodejs

2.1 安装sdk

$ npm install @alicloud/sms-sdk –save

2.2 阿里云提供的sample code

/**
 * 云通信基础能力业务短信发送、查询详情以及消费消息示例,供参考。
 * Created on 2017-07-31
 */
const SMSClient = require('@alicloud/sms-sdk')
// ACCESS_KEY_ID/ACCESS_KEY_SECRET 根据实际申请的账号信息进行替换
const accessKeyId = 'yourAccessKeyId'
const secretAccessKey = 'yourAccessKeySecret'
//初始化sms_client
let smsClient = new SMSClient({accessKeyId, secretAccessKey})
//发送短信
smsClient.sendSMS({
    PhoneNumbers: '1500000000',必填:待发送手机号。支持以逗号分隔的形式进行批量调用,批量上限为1000个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式;发送国际/港澳台消息时,接收号码格式为00+国际区号+号码,如“0085200000000”
    SignName: '云通信产品',必填:短信签名-可在短信控制台中找到
    TemplateCode: 'SMS_1000000',必填:短信模板-可在短信控制台中找到,发送国际/港澳台消息时,请使用国际/港澳台短信模版
    TemplateParam: '{"code":"12345"}'可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时。
}).then(function (res) {
    let {Code}=res
    if (Code === 'OK') {
        //处理返回参数
        console.log(res)
    }
}, function (err) {
    console.log(err)
})

猜你喜欢

转载自blog.csdn.net/m0_37263637/article/details/81535022