阿里云短信发送——JAVA

    1.标签和模板申请

        先登录阿里云官网: https://www.aliyun.com/   然后搜索短信服务,进去。

 左侧导航栏选择国内或者国际消息

            

  然后签名和模板各申请一个。

  申请后耐心等待通过即可使用,通过后签名名称和模板CODE都是下面需要用到的。

  在这之前还有一件事,就是先给账户充钱(测试的话冲个1块钱就够了)。

    2.发送短信工具类

      首先,先引入jar包,maven坐标如下:

        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-core</artifactId>
            <version>4.4.4</version>
        </dependency>

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

  注意:版本要一致,或者2个jar包都选择最新的,否则会版本冲突。

       工具类:

import com.aliyuncs.CommonRequest;
import com.aliyuncs.CommonResponse;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest;
import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.http.MethodType;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.profile.IClientProfile;

public class SmsUtils {

    //开发者的ID
    private static final String ACCESS_KEY_ID = "xxxxxxxxxxxxxxxxxxx";
    //开发者的秘钥
    private static final String ACCESS_SECRET = "xxxxxxxxxxxxxxxxxxx";
    //申请的短信模板代码
    private static final String TEMPLATE_CODE = "SMS_173474008";
    //申请的标签名称
    private static final String SIGN_NAME = "xuye";
    //产品名称:云通信短信API产品,开发者无需替换
    private static final String PRODUCT = "Dysmsapi";
    //产品域名,开发者无需替换
    private static final String DOMAIN = "dysmsapi.aliyuncs.com";


    /**
     *
     * @param phoneNumbers 接收短信的手机号 国内11位
     * @param param 模板中的变量替换JSON字符串,如模板内容为"您的验证码为${code}",则此字符串中的code值便是替换该内容
     * @throws ClientException
     */
    public static void sendShortMessage(String phoneNumbers,String param) throws ClientException {
        DefaultProfile profile = DefaultProfile.getProfile("default", ACCESS_KEY_ID, ACCESS_SECRET);
        IAcsClient client = new DefaultAcsClient(profile);
        CommonRequest request = new CommonRequest();
        request.setMethod(MethodType.POST);
        request.setDomain(DOMAIN);
        request.setVersion("2017-05-25");
        request.setAction("SendSms");
        request.putQueryParameter("RegionId", "default");
        request.putQueryParameter("PhoneNumbers", phoneNumbers);
        request.putQueryParameter("TemplateCode",TEMPLATE_CODE);
        request.putQueryParameter("TemplateParam", param);
        request.putQueryParameter("SignName",SIGN_NAME);
        try {
            CommonResponse response = client.getCommonResponse(request);
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            e.printStackTrace();
        }
    }
}

     代码已经经过测试,工具类复制粘贴即可。

     开发者秘钥移动到头像,选择accesskeys点进去即可。

     

发布了35 篇原创文章 · 获赞 61 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/m0_37914588/article/details/100586021