【短信业务】阿里云可以发送带变量的链接短信

文章详细介绍了如何在阿里云上配置短信业务,包括申请Accesskey、创建签名和模板,设置系统参数,以及如何测试和发送短信。同时,提到了不同类型的短信如验证码、通知和推广短信的变量限制,并指出遇到问题时可参考官方文档解决。
摘要由CSDN通过智能技术生成

阿里云配置短信业务

阿里云可以发送带变量的链接短信,选择短信模版的时候选择 通知短信 ,就可以实现,具体配置如下。

1.在账号管理中的 Accesskey管理中申请accessKeyId和accessKeySecret

在这里插入图片描述

在这里插入图片描述

2.进入短信服务管理

在这里插入图片描述

3.进入快速学习和测试

在这里插入图片描述

申请签名:按照要求填写信息,审核一般两三个小时左右

在这里插入图片描述

申请模板 :按照要求填写信息,审核一般两三个小时左右

1.验证码 (0.045元/条)
变量限制:
仅支持1个验证码作为变量;4~6位仅数字、数字+字母组合或仅字母2种类型。
变量格式:

${code};例如:您的验证码为 ${code} ,该验证码5分钟内有效,请勿泄露于他人。

2.通知短信 (0.045元/条)
变量限制:
不支持QQ号、微信号、网址信息;135位字符,但电话号码支持511位
变量格式:

${name};例如,尊敬的 ${name},您的快递已飞奔在路上,将今天 ${time} 送达您的手里,请留意查收。

3.推广短信 (0.055元/条)
变量限制:
推广短信及群发助手不支持加变量

在这里插入图片描述
在这里插入图片描述

系统设置 根据自己的需求进行配置

在这里插入图片描述

发送短信(手动发送短信)

在这里插入图片描述

4.测试发送短信

在这里插入图片描述

5.OpenAPI门户

【点击进入OpenAPI】
OpenAPID中可以发送测试短信,也可以找到对应的SDK,以及对应的代码。
在这里插入图片描述

在这里插入图片描述

6.请求报错可以查看官方文档 ,有对应的原因和解决方案

点击查看API错误码

在这里插入图片描述

总结一下使用阿里云短信服务的体验(有问题/想吐槽,可以留言,当然不一定会及时回复)

1.签名和模板审核其实不是很严格,及时不过也可以快速找到原因
2.阿里云短信服务准备了很多对接方案,开发很简单、快速,不过资质、签名、模板都需要花一定时间。正常一套下来2天左右
3.在使用过程中,会出现一些头疼的问题
比如短信发送会延迟,可能会半个小时之后才会发送;
比如短信发送会失败,数据分析每月成功了一般都是在97%以上,但是3%的发送失败会给运营项目的人很大的压力
4.另外使用之前注意购买短信套餐,在使用过程中也需要注意短信余额。

首先,你需要在阿里云短信控制台中创建签名和模板,并获取到 AccessKeyId 和 AccessKeySecret。 接下来,在Spring Boot项目中添加阿里云 Java SDK的依赖: ``` <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-core</artifactId> <version>4.5.3</version> </dependency> <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-dysmsapi</artifactId> <version>1.0.0</version> </dependency> ``` 然后,在项目的 application.properties 文件中添加阿里云短信服务的相关配置: ``` aliyun.sms.accessKeyId=yourAccessKeyId aliyun.sms.accessKeySecret=yourAccessKeySecret aliyun.sms.signName=yourSignName aliyun.sms.templateCode=yourTemplateCode ``` 在代码中,你可以使用以下示例代码发送国际短信: ```java import com.aliyuncs.DefaultAcsClient; import com.aliyuncs.IAcsClient; import com.aliyuncs.exceptions.ClientException; import com.aliyuncs.exceptions.ServerException; import com.aliyuncs.profile.DefaultProfile; import com.aliyuncs.profile.IClientProfile; import com.aliyuncs.sms.model.v20170628.SendSmsRequest; import com.aliyuncs.sms.model.v20170628.SendSmsResponse; import java.util.Arrays; public class SmsUtil { private String accessKeyId; private String accessKeySecret; private String signName; private String templateCode; public SmsUtil(String accessKeyId, String accessKeySecret, String signName, String templateCode) { this.accessKeyId = accessKeyId; this.accessKeySecret = accessKeySecret; this.signName = signName; this.templateCode = templateCode; } public boolean sendSms(String phoneNumber, String message) { IClientProfile profile = DefaultProfile.getProfile("default", accessKeyId, accessKeySecret); DefaultProfile.addEndpoint("default", "default", "Dysmsapi", "dysmsapi.aliyuncs.com"); IAcsClient client = new DefaultAcsClient(profile); SendSmsRequest request = new SendSmsRequest(); request.setPhoneNumbers(phoneNumber); request.setSignName(signName); request.setTemplateCode(templateCode); request.setTemplateParam("{\"code\":\"" + message + "\"}"); try { SendSmsResponse response = client.getAcsResponse(request); if (response.getCode() != null && response.getCode().equals("OK")) { return true; } } catch (ServerException e) { e.printStackTrace(); } catch (ClientException e) { e.printStackTrace(); } return false; } public static void main(String[] args) { // 使用示例 SmsUtil smsUtil = new SmsUtil( "yourAccessKeyId", "yourAccessKeySecret", "yourSignName", "yourTemplateCode" ); boolean result = smsUtil.sendSms("+86xxxxxxxxxxx", "yourMessage"); System.out.println(result); } } ``` 其中,phoneNumber 是接收短信的手机号码,message 是短信内容,可以根据模板中定义的变量替换。调用 sendSms 方法即可发送短信
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值