自从阿里大于并入阿里云后。阿里的短信服务发生了少许变化,下面以一个java的例子实现大于的短信发送。
一、注册阿里云账号,配置短信服务信息
- 登录进入控制台,从左边的菜单栏”云计算基础服务“中添加短信服务。
点击在”云计算基础服务“菜单标题后面的设置图标;
选择云通信中的短信服务,确认后退出可在菜单栏”云计算基础服务“中查找到。
- 添加签名和短信模板
按照提示添加即可,后面会用到具体的一些参数。
- 获取Access Key
在”接口调用“中的获取AK进行获取。
这个是链接的一个安全识别。
二、java中的dome
- 在开始之前还要在项目中导入两个jar包:
aliyun-java-sdk-core.jar
alicom-dysms-api.jar
public
class
test {
// 产品名称:云通信短信API产品,开发者无需替换
private
static
final
String
product
=
"Dysmsapi"
;
// 产品域名,开发者无需替换
// 此处需要替换成开发者自己的AK(在阿里云访问控制台寻找)
private
static
String
mobile
=
"17759039643"
;
private
static
String
accessKeyId
=
"LTAI0XUVzbKwLopO"
;
private
static
String
accessKeySecret
=
"GlnovQgidLg9xJWc0TBrwOylkssuq7"
;
private
static
String
signName
=
"地鼠论坛"
;
private
static
String
templeteCode
=
"SMS_129590274"
;
// 调用短信接口
public
static
void
main(String[] args) {
try
{
System.
out
.println(
"开始发送!"
);
sendSms
();
}
catch
(ClientException e) {
}
}
// 发送短信方法
public
static
SendSmsResponse sendSms()
throws
ClientException {
// 可自助调整超时时间
// 初始化acsClient,暂不支持region化
IClientProfile profile = DefaultProfile.
getProfile
(
"cn-beijing"
,
accessKeyId
,
accessKeySecret
);
DefaultProfile.
addEndpoint
(
"cn-beijing"
,
"cn-beijing"
,
product
,
domain
);
IAcsClient acsClient =
new
DefaultAcsClient(profile);
// 组装请求对象-具体描述见控制台-文档部分内容
SendSmsRequest request =
new
SendSmsRequest();
// 必填:待发送手机号
request.setPhoneNumbers(
mobile
);
// 必填:短信签名-可在短信控制台中找到
request.setSignName(
signName
);
// 必填:短信模板-可在短信控制台中找到
request.setTemplateCode(
templeteCode
);
// 可选:模板中的变量替换JSON串,如模板内容为"尊敬的用户,您的验证码为${code}"时,此处的值为
String jsonParam =
"{\"code\":\"123\"}"
;
request.setTemplateParam(jsonParam);
// hint 此处可能会抛出异常,注意catch
SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);
if
(sendSmsResponse.getCode() ==
null
){//失败
System.
out
.println(
"sendSmsResponse.getCode() == null"
);
}
System.
out
.println(sendSmsResponse.getCode());
//得到异常错误码。ok即表示成功
if
(sendSmsResponse.getCode().equals(
"OK"
)){ //成功
System.
out
.println(
"sendSmsResponse.getCode().equals('OK')"
);
}
return
sendSmsResponse;
}
}
三、官方API文档
发送短信和错误码(
sendSmsResponse.getCode())参考: