Ali cloud messaging service tools

application.yml:

 

 Ali cloud messaging services to their own application modules

accessKeyId:
accessKeySecret:

Write configuration class reads the configuration file

@ConfigurationProperties(prefix = "ximen.sms")
@Component
public class SmsProperties {
    private String accessKeyId;
    private String accessKeySecret;
    private String signName;
    private String verifyCodeTemplate;

    public String getAccessKeyId() {
        return accessKeyId;
    }

    public void setAccessKeyId(String accessKeyId) {
        this.accessKeyId = accessKeyId;
    }

    public String getAccessKeySecret() {
        return accessKeySecret;
    }

    public void setAccessKeySecret(String accessKeySecret) {
        this.accessKeySecret = accessKeySecret;
    }

    public String getSignName() {
        return signName;
    }

    public void setSignName(String signName) {
        this.signName = signName;
    }

    public String getVerifyCodeTemplate() {
        return verifyCodeTemplate;
    }

    public void setVerifyCodeTemplate(String verifyCodeTemplate) {
        this.verifyCodeTemplate = verifyCodeTemplate;
    }
}

Send SMS tools:

/ ** 
 * @Feature: Short Message Service Tools 
 * / 
@Component 
public  class SmsUtils { 

    @Autowired 
    Private SmsProperties the Properties; 

    / ** 
     * Name: Cloud Communications SMS API product, developers do not need to replace 
     * / 
    static  Final String = Product " Dysmsapi " ;
     / ** 
     * product domain, developers do not need to replace 
     * / 
    static  Final String domain =" dysmsapi.aliyuncs.com " ; 

    static  Final Logger Logger = LoggerFactory.getLogger (SmsUtils. class ); 

    public   SendSmsResponse sendSms (String Phone, code String, String signName, String Template) throws{ClientException 

        // can be self-adjusted timeout 
        System.setProperty ( "sun.net.client.defaultConnectTimeout", "10000" ); 
        System.setProperty ( "sun.net.client.defaultReadTimeout", "10000" ); 

        // initialize acsClient, does not support region of 
        IClientProfile Profile = DefaultProfile.getProfile ( "CN-Hangzhou" , properties.getAccessKeyId (), properties.getAccessKeySecret ()); 
        DefaultProfile.addEndpoint ( "CN-Hangzhou", "CN-Hangzhou" , Product , Domain); 
        IAcsClient acsClient = new new DefaultAcsClient (Profile);

        // assembly request object - particularly described Console - part document 
        SendSmsRequest = Request new newSendSmsRequest (); 
        request.setMethod (MethodType.POST); 
        // Required: phone number to be sent 
        request.setPhoneNumbers (Phone);
         // Required: SMS signature - can be found in the SMS console 
        request.setSignName (signName);
         // required: SMS templates - can be found in the SMS console 
        request.setTemplateCode (template);
         // optional: template variable substitution JSON string, such as the template reads "Dear $ {name}, your verification code to $ {code} ", the value herein 
        request.setTemplateParam (" {\ "code \": \ "" + + code "\"} " ); 

        // oPTIONAL - uplink spread code message (no specific Please ignore the needs of users in this field)
         // request.setSmsUpExtendCode ( "90997"); 

        // optional: outId is provided to the business side extension field, culminating in an SMS message receipt this value back to the caller 
        request.setOutId ( "123456");

        //Here hint may throw exceptions, noted that the catch 
        SendSmsResponse sendSmsResponse = acsClient.getAcsResponse (Request); 

        return sendSmsResponse; 
    } 
}

rely:

       <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-core</artifactId>
            <version>4.1.0</version>
        </dependency>
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-dysmsapi</artifactId>
            <version>1.1.0</version>
        </dependency>        

 

Guess you like

Origin www.cnblogs.com/yscec/p/12285877.html