阿里云短信
 
 
 依赖于redis做时间过期功能
 
 
1. pom
 
<dependencies>
   <dependency>
       <groupId>com.alibaba
</groupId>
       <artifactId>fastjson
</artifactId>
   </dependency>
   <dependency>
       <groupId>com.aliyun
</groupId>
       <artifactId>aliyun-java-sdk-core
</artifactId>
   </dependency>
</dependencies>
 
2. application.properties
 
spring.redis.host
=192.168.44.132
spring.redis.port
=6379
spring.redis.database
= 0
spring.redis.timeout
=1800000
spring.redis.lettuce.pool.max-active
=20
spring.redis.lettuce.pool.max-wait
=-1
spring.redis.lettuce.pool.max-idle
=5
spring.redis.lettuce.pool.min-idle
=0
spring.jackson.date-format
=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone
=GMT+8
 
3. java代码
 
import com
.alibaba
.fastjson
.JSONObject
;
import com
.aliyuncs
.CommonRequest
;
import com
.aliyuncs
.CommonResponse
;
import com
.aliyuncs
.DefaultAcsClient
;
import com
.aliyuncs
.IAcsClient
;
import com
.aliyuncs
.http
.MethodType
;
import com
.aliyuncs
.profile
.DefaultProfile
;
import com
.atguigu
.msmservice
.service
.MsmService
;
import org
.springframework
.stereotype
.Service
;
import org
.springframework
.util
.StringUtils
;
import java
.util
.Map
;
 
@Service
public class MsmServiceImpl implements MsmService {
    
    @Override
    public boolean send(Map
<String, Object> param
, String phone
) {
        if(StringUtils
.isEmpty(phone
)) return false;
        DefaultProfile profile 
=
                DefaultProfile
.getProfile("default", "LTAI4FvvVEWiTJ3GNJJqJnk7", "9st82dv7EvFk9mTjYO1XXbM632fRbG");
        IAcsClient client 
= new DefaultAcsClient(profile
);
        
        CommonRequest request 
= new CommonRequest();
        
        request
.setMethod(MethodType
.POST
);
        request
.setDomain("dysmsapi.aliyuncs.com");
        request
.setVersion("2017-05-25");
        request
.setAction("SendSms");
        
        request
.putQueryParameter("PhoneNumbers",phone
); 
        request
.putQueryParameter("SignName","我的谷粒在线教育网站"); 
        request
.putQueryParameter("TemplateCode","SMS_180051135"); 
        request
.putQueryParameter("TemplateParam", JSONObject
.toJSONString(param
)); 
        try {
            
            CommonResponse response 
= client
.getCommonResponse(request
);
            boolean success 
= response
.getHttpResponse().isSuccess();
            return success
;
        }catch(Exception e
) {
            e
.printStackTrace();
            return false;
        }
    }
}