以下是一个简单的Java阿里云短信接口demo:
import com.aliyun.dysmsapi20170525.models.SendSmsRequest;
import com.aliyun.dysmsapi20170525.models.SendSmsResponse;
import com.aliyun.teaopenapi.models.Config;
import com.aliyun.teaopenapi.modules.AcsRequest;
import com.aliyun.teaopenapi.modules.AcsResponse;
import com.aliyun.teaopenapi.modules.exceptions.ServerException;
import com.aliyun.teaopenapi.modules.exceptions.TimeoutException;
import com.aliyun.teaopenapi.modules.exceptions.UnretryableException;
import com.aliyun.dysmsapi20170525.Client;
import com.aliyun.teautil.models.RuntimeOptions;
public class Main {
public static void main(String[] args) {
try {
// 配置信息
Config config = new Config()
.setAccessKeyId("<您的AccessKeyId>") // 替换成您的AccessKeyId
.setAccessKeySecret("<您的AccessKeySecret>") // 替换成您的AccessKeySecret
.setEndpoint("dysmsapi.aliyuncs.com")
.setProtocol("https");
// 创建一个短信发送请求
SendSmsRequest sendSmsRequest = new SendSmsRequest()
.setPhoneNumbers("<短信接收号码>") // 替换成您的手机号码
.setSignName("<短信签名>") // 替换成您的短信签名
.setTemplateCode("<短信模板>") // 替换成您的短信模板
.setTemplateParam("{"code":"123456"}"); // 替换成您的模板参数
// 发送短信
SendSmsResponse sendSmsResponse = Client.sendSms(sendSmsRequest, config);
// 打印请求返回的结果信息
System.out.println(sendSmsResponse.getBody().code + " - " + sendSmsResponse.getBody().message);
} catch (ServerException e) {
// 服务器异常
System.out.println(e.getMessage());
} catch (UnretryableException e) {
// 非重试异常
System.out.println(e.getMessage());
} catch (TimeoutException e) {
// 超时异常
System.out.println(e.getMessage());
}
}
}
以上代码中,您需要替换 <您的AccessKeyId>
、<您的AccessKeySecret>
、<短信接收号码>
、<短信签名>
、<短信模板>
和 "code":"123456"
这些配置信息,以适应您的实际情况。
此外,您还需要导入阿里云Java SDK和相关的依赖,可以通过Maven来管理依赖。在pom.xml
文件中添加以下依赖:
<dependencies>
<dependency>
<groupId>com.aliyun.tea</groupId>
<artifactId>dysmsapi20170525</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>teautil</artifactId>
<version>0.0.3</version>
</dependency>
</dependencies>
然后运行Main.java
文件即可发送短信。请注意确保您的服务器能够连通阿里云短信服务API的端口,并且您已开通阿里云短信服务。
希望对您有帮助!
阿里云短信接口提供了Java SDK来方便开发者使用。以下是一个简单的Java代码示例,演示如何使用阿里云短信接口发送短信:
首先,导入阿里云SDK的maven依赖:
<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.1.0</version>
</dependency>
然后,可以使用以下代码发送短信:
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.dysmsapi.model.v20170525.*;
import java.util.Random;
public class SmsDemo {
public static void main(String[] args) {
// 阿里云账号AccessKey信息
final String accessKeyId = "yourAccessKeyId";
final String accessKeySecret = "yourAccessKeySecret";
// 短信API产品名称
final String product = "Dysmsapi";
// 短信API产品域名
final String domain = "dysmsapi.aliyuncs.com";
// 初始化访问的profile
DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);
IAcsClient client = new DefaultAcsClient(profile);
// 构造请求对象
SendSmsRequest request = new SendSmsRequest();
// 设置手机号码,多个号码用英文逗号分隔
request.setPhoneNumbers("18888888888");
// 设置短信签名名称
request.setSignName("阿里云短信测试专用");
// 设置短信模板ID
request.setTemplateCode("SMS_123456789");
// 生成一个随机验证码
String code = String.valueOf(new Random().nextInt(899999) + 100000);
// 设置短信模板参数,使用JSON格式,例如:{"code":"123456"}
request.setTemplateParam("{"code":"" + code + ""}");
try {
// 发送请求,获取响应对象
SendSmsResponse response = client.getAcsResponse(request);
if (response.getCode() != null && response.getCode().equals("OK")) {
System.out.println("短信发送成功!");
} else {
System.out.println("短信发送失败:" + response.getMessage());
}
} catch (ServerException e) {
e.printStackTrace();
} catch (ClientException e) {
e.printStackTrace();
}
}
}
根据你的实际情况,将代码中的yourAccessKeyId
、yourAccessKeySecret
、"18888888888"
、"阿里云短信测试专用"
和"SMS_123456789"
替换为你自己的阿里云AccessKey信息、要发送的手机号码、短信签名和短信模板ID。
以上代码将发送一条包含随机验证码的短信给指定手机号码。如果发送成功,控制台将输出”短信发送成功!”,否则输出失败信息。
发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/33815.html