概述
Java调用阿里云短信接口,发送短信
1.短信服务这个很简单,只需要知道accessKeyId(AK)、accessKeySecret(SK)、短信签名、短信模板即可。
2.域名和产品名称是固定的,使用的是阿里的产品
AK和SK查看:
AK:
SK:
ps:短信模板和签名。
注意:这里的短信签名的适用场景和短信模板的类型必须相同,否则会报错。(即:签名的适用场景为验证码,则模板的类型也是验证码)
ps:个人申请短信签名和模板很难通过审核。现在短信签名申请,如果没有上线的app或者网站的话,貌似申请不了了。
个人申请半天,短信签名一直没通过,幸好之前申请过。。。嘿嘿。。。
废话不多说,直接上代码。
POM文件依赖:
<!--阿里短信服务-->
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>3.7.1</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-dysmsapi</artifactId>
<version>1.1.0</version>
</dependency>
代码如下:
@Component
public class SMSNotification {
// 此处需要替换成开发者自己的AK和SK(在阿里云访问控制台寻找)
private static String accessKeyId = "xxxxxx";
private static String accessKeySecret = "xxxxxx";
// 阿里云产品名称:云通信短信API产品,开发者无需替换
private static String product = "Dysmsapi";
// 阿里云产品域名,开发者无需替换
private static String domain = "dysmsapi.aliyuncs.com";
public String sendSMS(String message){
try
{
//初始化acsClient,暂不支持region化
IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId,accessKeySecret);
DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou",product,domain);
IAcsClient acsClient = new DefaultAcsClient(profile);
SendSmsRequest request = new SendSmsRequest();
//必填:待发送手机号。支持以逗号分隔的形式进行批量调用,批量上限为20个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式
request.setPhoneNumbers("手机号1,手机号2");
//必填:短信签名-可在短信控制台中找到
request.setSignName("这里是你自己的短信签名");
//必填:短信模板-可在短信控制台中找到
request.setTemplateCode("这里是你自己的短信模板CODE");
//可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为
request.setTemplateParam(message);
//可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者
request.setOutId("");
//请求失败这里会抛ClientException异常
SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);
return sendSmsResponse.getMessage();
} catch (Exception ex) {
log.info("短信发送失败:{} ", ex.getMessage());
return "";
}
}
}
最后
以上就是称心眼睛为你收集整理的Java调用阿里云短信接口,发送短信的全部内容,希望文章能够帮你解决Java调用阿里云短信接口,发送短信所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复