用户注册的验证短信的实现

application

@SpringBootApplication
public class Application {

    public static void main(String[] args){
        SpringApplication.run(Application.class,args);
    }
}

smslistener

@Autowired
    private SmsUtil smsUtil;

    @JmsListener(destination = "sms")
    public void sendSms(Map map){
        try {
            SendSmsResponse response = smsUtil.sendSms(map.get("mobile"), map.get("template_code"), map.get("sign_name"), map.get("param"));
            System.out.println("code:"+response.getCode());
            System.out.println("message:"+response.getMessage());
        } catch (ClientException e) {
            e.printStackTrace();
        }
    }

smsutil

static final String product = "Dysmsapi";
    static final String domain = "dysmsapi.aliyuncs.com";

    @Autowired
    private Environment env;

public SendSmsResponse sendSms(String mobile,String template_code,String sign_name,String param) throws ClientException {

        String accessKeyId=env.getProperty("accessKeyId");
        String accessKeySecret=env.getProperty("accessKeySecret");

        System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
        System.setProperty("sun.net.client.defaultReadTimeout", "10000");

        IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);
        DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);
        IAcsClient acsClient = new DefaultAcsClient(profile);

        SendSmsRequest request = new SendSmsRequest();
        request.setPhoneNumbers(mobile);
        request.setSignName(sign_name);
        request.setTemplateCode(template_code);
        request.setTemplateParam(param);
SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);

        return sendSmsResponse;

 

你可能感兴趣的:(用户注册的验证短信的实现)