SpringBootはアリクラウドメッセージングサービスを統合---送信電話コード

それは完全なソースコードでそうしたの後ろにまず第一に、これは、絶対に達成可能です。

1。まず、アリクラウドメッセージングサービスを開きます

アリクラウドメッセージングサービスアドレス

2つの矢印は4つの情報取得を参照して以下に示す場所を参照してください
ここに画像を挿入説明
1.1まず、アクセスキーをクリックし、矢印、以下の情報を入手
ここに画像を挿入説明
1.2署名して、テンプレートを追加するために[追加]をクリックし、情報を入力するようにプロンプトに従ってください

注意を埋めるために、特定の仕様に応じて、または非常に簡単に渡されていないことを、私は、2時間ごとに3回見直し。広すぎる署名を記入しないでください。
ここに画像を挿入説明
ここに画像を挿入説明
署名とテンプレートが表す:JAVA個人ブログ黄および情報主題
ここに画像を挿入説明
この基本的な作業には、次のコードを実行されました

2.コード

2.1追加の依存

 <!--短信发送  start-->
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-core</artifactId>
            <version>4.1.0</version>
            <exclusions>
                <exclusion>
                    <artifactId>commons-codec</artifactId>
                    <groupId>commons-codec</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>activation</artifactId>
                    <groupId>javax.activation</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-dysmsapi</artifactId>
            <version>1.1.0</version>
        </dependency>
 <!--end-->

2.2フロントエンド

<form action="/sendCode" method="post">
        电话:<input type="text" name="phone"/>
        <input type="submit" value="发送验证码"/>
        <p th:text="${msg}"></p>
  </form>

2.3コントローラ

//发送短信
@RequestMapping(value = "/sendCode")
public Object sendCode(Model m , String phone){
    try{
        SendMessageService.sendSms(phone);
    }catch (Exception e){
        m.addAttribute("msg","发送失败");
    }
    return "userRegister";
}

2.4クラスのランダムに生成されたコード

   private static String getMsgCode() {
        int n = 6;
        StringBuilder code = new StringBuilder();
        Random ran = new Random();
        for (int i = 0; i < n; i++) {
            code.append(Integer.valueOf(ran.nextInt(10)).toString());
        }
        return code.toString();
    }

送信SMS 2.5コアクラス

以下の情報充填部分で標識された4 ******上に発生

//阿里云短信接口配置类
public class SendMessageService {
    /* 短信API产品名称(短信产品名固定,无需修改) */
    private static final String product = "Dysmsapi";

    /* 短信API产品域名,接口地址固定,无需修改 */
    private static final String domain = "dysmsapi.aliyuncs.com";

    /* 此处需要替换成开发者自己的accessKeyId和accessKeySecret(在阿里云访问控制台寻找) */
    private static final String accessKeyId = "******"; //TODO: 这里要写成你自己生成的
    private static final String accessKeySecret = "********";//TODO: 这里要写成你自己生成的

    /* 短信发送 */
    public static SendSmsResponse sendSms(String phone) throws ClientException {

        /* 超时时间,可自主调整 */
        System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
        System.setProperty("sun.net.client.defaultReadTimeout", "10000");

        /* 初始化acsClient,暂不支持region化 */
        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(phone);
        /* 必填:短信签名-可在短信控制台中找到 */
        request.setSignName("********"); //TODO: 这里是你短信签名
        /* 必填:短信模板code-可在短信控制台中找到 */
        request.setTemplateCode("********"); //TODO: 这里是你的模板code
        /* 可选:模板中的变量替换JSON串,如模板内容为"亲爱的用户,您的验证码为${code}"时,此处的值为 */
        request.setTemplateParam("{\"code\":\"" + getMsgCode() + "\"}");

        System.out.println("给电话为"+phone+"发送的验证码为:"+getMsgCode());

        // hint 此处可能会抛出异常,注意catch
        SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);
        if(sendSmsResponse.getCode()!= null && sendSmsResponse.getCode().equals("OK")){
            System.out.println("短信发送成功!验证码:" + getMsgCode());
        }else {
            System.out.println("短信发送失败!");
        }
        return sendSmsResponse;
    }

フロントエンド入力の電話番号は、ライン上、送信をクリックしてください。コンソールは、テキストメッセージが表示され、それが口座のお金の酒が原因である可能性があり、またはあなたがシミュレートすることができます送信するために失敗した場合、テストメッセージはアリクラウドに送られました。

アドレス
ここに画像を挿入説明
の送信が失敗した場合は、上記の署名とテンプレートを充填することによっては、エラーの種類とエラーが表示されるの正確な原因をテストすることができます。

あなたは、API、他の言語を表示したい場合は、ライン上に表示APIのデモをクリックし
ここに画像を挿入説明
ます。3.コードアドレスhttp://download.csdn.net/download/m0_45025658/12252399

公開された33元の記事 ウォンの賞賛1 ビュー2042

おすすめ

転載: blog.csdn.net/m0_45025658/article/details/104910184