对接阿里云国际短信
阿里云短信对接要注意一点,如果你要测试的话,一定要充钱,不然会发送失败,阿里云的五条免费短信测试根本没用
/**
* 国际短信测试
* @param args
*/
public static void main(String[] args) {
//要发送的手机号(目前不支持中国,可选多个,如17853527085,17853528055!国际手机格式为国际区号+手机号,如91 94967 63368)
String phones = "";
//短信模板code
String templateCode = "";
//调用阿里云国际短信发送信息
InternationalMessage internationalMessage=new InternationalMessage();
internationalMessage.sendMessage(phones,templateCode);
}
package com.solomon.common.international;
import com.aliyun.dysmsapi20170525.models.*;
import com.aliyun.teaopenapi.models.*;
import com.solomon.common.utils.constant.CustomTypeUtils;
public class InternationalMessage {
/**
* 使用AK&SK初始化账号Client
* @param accessKeyId
* @param accessKeySecret
* @return Client
* @throws Exception
*/
public static com.aliyun.dysmsapi20170525.Client createClient(String accessKeyId, String accessKeySecret) throws Exception {
Config config = new Config()
// 您的AccessKey ID
.setAccessKeyId(accessKeyId)
// 您的AccessKey Secret
.setAccessKeySecret(accessKeySecret);
// 访问的域名
config.endpoint = "dysmsapi.aliyuncs.com";
return new com.aliyun.dysmsapi20170525.Client(config);
}
/**
*
* @param phones 要发送的手机号
* @param templateCode 短信模板code
*/
public void sendMessage(String phones, String templateCode){
try {
com.aliyun.dysmsapi20170525.Client client = InternationalMessage.createClient("您的AccessKey ID", "您的AccessKey Secret");
SendSmsRequest sendSmsRequest = new SendSmsRequest()
.setPhoneNumbers(phones)
.setSignName("您的签名")
.setTemplateCode(templateCode);
// 复制代码运行请自行打印 API 的返回值
client.sendSms(sendSmsRequest);
} catch (Exception e) {
e.printStackTrace();
}
}
}
导入依赖
<url>https://github.com/aliyun/alibabacloud-code-sample</url>
<developers>
<developer>
<id>aliyundeveloper</id>
<name>Aliyun SDK</name>
<email>aliyunsdk@aliyun.com</email>
</developer>
</developers>
<!-- 短信接口start -->
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>dysmsapi20170525</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>tea-openapi</artifactId>
<version>0.0.13</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>tea-console</artifactId>
<version>0.0.1</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>darabonba-env</artifactId>
<version>0.1.1</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>tea-util</artifactId>
<version>0.2.11</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>darabonba-time</artifactId>
<version>0.0.1</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>darabonba-string</artifactId>
<version>0.0.3</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>tea</artifactId>
<version>[1.0.3, 2.0.0)</version>
</dependency>
<!-- 短信接口end -->
<!-- 阿里大鱼国际短信核心依赖 -->
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-dysmsapi</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>4.3.2</version>
</dependency>
<!--国际手机区号验证 start-->
<!-- https://mvnrepository.com/artifact/com.googlecode.libphonenumber/libphonenumber -->
<dependency>
<groupId>com.googlecode.libphonenumber</groupId>
<artifactId>libphonenumber</artifactId>
<version>8.12.16</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.googlecode.libphonenumber/geocoder -->
<dependency>
<groupId>com.googlecode.libphonenumber</groupId>
<artifactId>geocoder</artifactId>
<version>2.155</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.googlecode.libphonenumber/carrier -->
<dependency>
<groupId>com.googlecode.libphonenumber</groupId>
<artifactId>carrier</artifactId>
<version>1.145</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.googlecode.libphonenumber/prefixmapper -->
<dependency>
<groupId>com.googlecode.libphonenumber</groupId>
<artifactId>prefixmapper</artifactId>
<version>2.155</version>
</dependency>
<!--国际手机区号验证 end-->