泉州阿里云代理商:阿里通信短信demo

阿里通信短信服务是阿里云提供的一种短信发送解决方案,用于短信验证码、营销短信等业务场景。以下是用于发送短信的阿里通信短信demo示例代码:

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.profile.IClientProfile;
import com.aliyuncs.sms.model.v20170525.*;
import java.util.Random;

public class AliyunSmsDemo {
    public static void main(String[] args) {
        // AK、SK等配置信息
        String accessKeyId = "your-access-key-id";
        String accessKeySecret = "your-access-key-secret";

        // 短信签名
        String signName = "your-sign-name";
        
        // 短信模板Code
        String templateCode = "your-template-code";
        
        // 短信接收号码
        String phoneNumber = "your-phone-number";
        
        // 生成6位随机验证码
        String code = String.valueOf(new Random().nextInt(999999));


        // 发送短信
        SendSmsResponse response;
        try {
            response = sendSms(accessKeyId, accessKeySecret, signName, templateCode, phoneNumber, code);
            System.out.println("短信发送结果:" + response.getCode());
        } catch (ClientException e) {
            e.printStackTrace();
        }
    }

    /**
     * 发送短信
     *
     * @param accessKeyId     阿里云AccessKeyId
     * @param accessKeySecret 阿里云AccessKeySecret
     * @param signName        短信签名
     * @param templateCode    短信模板Code
     * @param phoneNumber     短信接收号码
     * @param code            验证码
     * @return SendSmsResponse
     * @throws ClientException
     */
    public static SendSmsResponse sendSms(String accessKeyId, String accessKeySecret, String signName, String templateCode, String phoneNumber, String code)
            throws ClientException {
        // 初始化DefaultAcsClient
        IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);
        DefaultSmsClient client = new DefaultSmsClient(profile);

        // 创建发送短信的请求对象
        SendSmsRequest request = new SendSmsRequest();
        request.setPhoneNumbers(phoneNumber); // 设置短信接收号码
        request.setSignName(signName); // 设置短信签名
        request.setTemplateCode(templateCode); // 设置短信模板Code
        request.setTemplateParam("{"code": " + code + "}"); // 设置短信模板参数

        // 发送短信
        SendSmsResponse response = client.getAcsResponse(request);

        return response;
    }
}

使用时,需要替换代码中的以下配置信息:

  • accessKeyIdaccessKeySecret:阿里云的AccessKeyId和AccessKeySecret,在阿里云控制台的RAM访问控制中可以获取。
  • signName:短信签名,需要在阿里云短信服务中申请并审核通过。
  • templateCode:短信模板Code,需要在阿里云短信服务中申请并审核通过。
  • phoneNumber:短信接收号码,可以是手机号码或者阿里云短信服务中申请的测试号码。

运行以上代码,就可以发送短信了。请注意,阿里云短信服务需要付费使用,具体费用请参考阿里云官方文档。

请参考以下阿里通信短信demo示例:

泉州阿里云代理商:阿里通信短信demo
import java.util.HashMap;
import java.util.Map;

import com.aliyun.dysmsapi20170525.models.SendSmsRequest;
import com.aliyun.dysmsapi20170525.models.SendSmsResponse;
import com.aliyun.teaopenapi.models.Config;
import com.aliyun.teaopenapi.modules.AcsError;
import com.aliyun.teaopenapi.modules.ApiException;
import com.aliyun.teaopenapi.modules.ApiRequest;
import com.aliyun.teaopenapi.modules.ApiResponse;
import com.aliyun.teaopenapi.modules.DefaultAcsClient;

public class AliyunSmsDemo {
    private static final String accessKeyId = "<你的AccessKeyId>";
    private static final String accessKeySecret = "<你的AccessKeySecret>";
    private static final String signName = "<短信签名名称>";
    private static final String templateCode = "<短信模板CODE>";

    public static void main(String[] args) {
        Config config = new Config()
                // 您的 AccessKey ID
                .setAccessKeyId(accessKeyId)
                // 您的 AccessKey Secret
                .setAccessKeySecret(accessKeySecret);
        DefaultAcsClient client = new DefaultAcsClient(config);

        SendSmsRequest request = new SendSmsRequest()
                .setPhoneNumbers("<收信人手机号>")
                .setSignName(signName)
                .setTemplateCode(templateCode)
                .setTemplateParam("{"code":"123456"}"); // 替换为实际的短信模板参数

        try {
            SendSmsResponse response = client.sendRequest(request);
            if (response.getCode().equals("OK")) {
                System.out.println("短信发送成功!");
            } else {
                System.out.println("短信发送失败:" + response.getCode() + "-" + response.getMessage());
            }
        } catch (ApiException e) {
            AcsError ae = (AcsError) e.getErrModel();
            System.out.println("短信发送失败:" + ae.getErrorCode() + "-" + ae.getErrorMessage());
        }
    }
}

请将<你的AccessKeyId><你的AccessKeySecret><短信签名名称><短信模板CODE><收信人手机号>替换为实际的参数。

运行该demo即可发送短信。

发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/112024.html

(0)
luotuoemo的头像luotuoemo
上一篇 2023年12月18日 07:08
下一篇 2023年12月18日 07:20

相关推荐

  • 江西智能物联网云平台

    江西应用科技学院人工智能学院怎么样?设有哪些专业? ~接下来我为大家简单介绍一下我们江西应用科技学院的人工智能学院开设的专业以及研究情况 专业设置:本科专业:物联网工程、软件工程、电子工程专科专业:计算机应用技术、计算机网络技术、软件技术、计算机信息管理、电子信息工程技术人工智能学院现有在校生3000余人,是学校重点建设学院之一,设有物联网工程、软件工程、电…

    2023年8月28日
    17500
  • 宿迁阿里云代理商:阿里云 linux 上传文件

    阿里云 Linux 上传文件:稳定高效的云端服务 随着云计算技术的快速发展,越来越多的企业和个人选择将数据存储和处理转移到云端。作为国内云计算领域的领军企业,阿里云以其优势和好用之处赢得了众多用户的青睐。本文将以宿迁阿里云代理商的视角,介绍阿里云 Linux 上传文件的功能及其优势。 1. 稳定可靠的云端存储 阿里云提供的云端存储服务采用分布式架构,通过数据…

    2024年1月9日
    16000
  • 保定阿里云代理商:access2010找不到指定的数据库

    可能是以下几个原因导致无法找到指定的数据库: 数据库文件被移动或者删除:请确认数据库文件是否被移动到其他位置或者删除了。如果是,请将数据库文件恢复到原来的位置或者重新创建一个新的数据库。 数据库连接字符串错误:请确认你的数据库连接字符串是否正确。可以检查连接字符串中的数据库路径是否正确,并且数据库文件是否存在。 数据库文件受到保护或者损坏:请检查数据库文件的…

    2024年2月4日
    18600
  • 南宁阿里云代理商:android雷达辐射

    Android雷达辐射是一个科学名词,指的是在使用Android设备时,由于无线电波的传输和接收而产生的辐射现象。这种辐射来自于手机、无线网络设备等无线电通信设备。雷达辐射本身是一种电磁辐射,一般认为在正常使用的情况下,它不会对人体产生明显的危害。 然而,为了减少辐射对人体的潜在影响,建议以下几点: 保持良好的通信信号:在良好的信号条件下,设备辐射会相应减少…

    2024年1月19日
    17600
  • 阿里云企业邮箱:怎样使用邮箱日程提醒?

    如何有效利用阿里云企业邮箱的日程提醒功能 在快节奏的商业环境中,有效的时间管理是成功的关键之一。阿里云企业邮箱提供了强大的日程提醒功能,帮助用户更好地规划和管理时间。本文将详细介绍如何使用阿里云企业邮箱的日程提醒功能,并探讨其在企业管理中的优势。 阿里云企业邮箱的优势 阿里云企业邮箱不仅仅是一个简单的邮件通讯工具,它还集成了多种办公自动化功能,特别是在日程管…

    2025年4月5日
    3400

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
购买阿里云服务器请访问:https://www.4526.cn/