阿里云短信服务
程序员文章站
2024-02-29 18:44:58
...
由于业务需求,尝试了一下阿里云短信功能,分为短信验证码和短信调用数据库信息,整体做下来感觉也是挺简单的,还可以复习一下JDBC和MyBatis.这里把经验分享给大家,希望大家以后做到这些功能的时候可以帮助到大家。
第一步,申请阿里云账号,并注册信息。(https://help.aliyun.com/document_detail/55284.html?spm=5176.doc55496.6.557.PY02KP)
第二步,创建Access Key,获取Access Key ID 和 Access Key Secret(具体看阿里云官方教程),申请短信签名和短信模板。
申请之后记得获取几个重要的参数:
accessKeyId=“xxxxxxxx”
accessKeySecret=“xxxxxxxxxxx”
SignName=“短信签名”
TemplateCode=“短信模版”
第三步,在编程软件上编译程序,本人用的是Myeclipse.以下是部分代码,亲测可用,需要参考阿里云的官方Demo:
public class SsDemo {
static final String product = "";
static final String domain = "dysmsapi.aliyuncs.com";
static final String accessKeyId = "";
static final String accessKeySecret = "";
@Test
public static SendSmsResponse sendSms() throws ClientException, SQLException {
System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
System.setProperty("sun.net.client.defaultReadTimeout", "10000");
IClientProfile profile = DefaultProfile.getProfile();
DefaultProfile.addEndpoint();
IAcsClient acsClient = new DefaultAcsClient(profile);
SendSmsRequest request = new SendSmsRequest();
request.setPhoneNumbers("你的手机号");
request.setSignName("");
request.setTemplateCode("短信模板号");
//这里注意获取数据库连接
Connection connection=Test2.getConn();
Statement stm=null;
ResultSet rs=null;
try {
stm= connection.createStatement();
String sql="select * from 表名";
rs=stm.executeQuery(sql);
while(rs.next()){
int id=rs.getInt(1);
String content=rs.getString(2);
int alarmid=rs.getInt(3);
System.out.println("Row="+id +"-"+content+"-"+alarmid);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
};
stm= connection.createStatement();
String sql="select * from 表名";
rs=stm.executeQuery(sql);
while(rs.next()){
int id=rs.getInt(1);
String content=rs.getString(2);
int alarmid=rs.getInt(3);
System.out.println("Row="+id +"-"+content+"-"+alarmid);
content = rs.getString(2);
String SMSContentString = "{\"content\":\"" +content+ "\"}";//获取到数据库字段
request.setTemplateParam(SMSContentString);
// request.setTemplateParam("{“content”:“content1”}");
//request.setSmsUpExtendCode("90997");
//request.setOutId("yourOutId");
SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);
return sendSmsResponse;}
return null;
}
public static void main(String[] args) throws ClientException, InterruptedException, SQLException {
//发短信
SendSmsResponse response = sendSms();
System.out.println("短信接口返回的数据----------------");
System.out.println("Code=" + response.getCode());
System.out.println("Message=" + response.getMessage());
System.out.println("RequestId=" + response.getRequestId());
System.out.println("BizId=" + response.getBizId());
}
}
第四步,需要注意的是,结合文档填上必要的参数和自己申请的内容。
第五步,进行RUN AS执行,你就会发现短信已经发到手机上了,赶快试试吧-。-。
热闹是他们的,我什么都没有