欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

阿里云短信服务

程序员文章站 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执行,你就会发现短信已经发到手机上了,赶快试试吧-。-。

热闹是他们的,我什么都没有

相关标签: 阿里云短信服务