.net core 调用 阿里云短信服务

本文介绍了一个使用阿里云短信服务的实用帮助类,该类能够实现短信的批量发送功能,适用于多种应用场景,如用户验证、通知提醒等。文章详细展示了如何配置短信API参数,包括产品名称、域名、区域ID、AccessKey、SecretKey、电话号码、短信签名、模板代码及参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    /// <summary>
    /// 阿里云短信发送帮助类
    /// </summary>
    public class SendSMSAliHelper
    {
        static String product = "Dysmsapi";//短信API产品名称
        static String domain = "dysmsapi.aliyuncs.com";//短信API产品域名
        static String regionIdForPop = "cn-hangzhou";
        public static string SendSMS(String accessId, String accessSecret,string PhoneNumbers,string SignName,string TemplateCode,string TemplateParam)
        {
            string result = "{}";
            SMSAliResponse response = new SMSAliResponse();
            IClientProfile profile = DefaultProfile.GetProfile(regionIdForPop, accessId, accessSecret);
            DefaultProfile.AddEndpoint(regionIdForPop, regionIdForPop, product, domain);
            IAcsClient acsClient = new DefaultAcsClient(profile);
            SendSmsRequest request = new SendSmsRequest();
            try
            {
                //request.SignName = "上云预发测试";//"管理控制台中配置的短信签名(状态必须是验证通过)"
                //request.TemplateCode = "SMS_71130001";//管理控制台中配置的审核通过的短信模板的模板CODE(状态必须是验证通过)"
                //request.RecNum = "13567939485";//"接收号码,多个号码可以逗号分隔"
                //request.ParamString = "{\"name\":\"123\"}";//短信模板中的变量;数字需要转换为字符串;个人用户每个变量长度必须小于15个字符。"
                //SingleSendSmsResponse httpResponse = client.GetAcsResponse(request);
                //request.PhoneNumbers = "1350000000";
                //request.SignName = "xxxxxx";
                //request.TemplateCode = "SMS_xxxxxxx";
                //request.TemplateParam = "{\"code\":\"123\"}";
                //request.OutId = "xxxxxxxx";
                //请求失败这里会抛ClientException异常

                request.PhoneNumbers =PhoneNumbers;
                request.SignName = SignName;
                request.TemplateCode = TemplateCode;
                request.TemplateParam = TemplateParam;
                SendSmsResponse sendSmsResponse = acsClient.GetAcsResponse(request);
                if (sendSmsResponse.Message == "OK")
                {
                    response.code = 200;
                    response.msg = sendSmsResponse.Message;
                }
                else
                {
                    response.code = 500;
                    response.msg = sendSmsResponse.Message;
                }
            }
            catch (Exception ex)
            {
                response.code = 500;
                response.msg = ex.ToString();
            }
            result = Newtonsoft.Json.JsonConvert.SerializeObject(response);
            return result;
        
        }
    }

    public class SMSAliResponse
    {
        public int code { get; set; }
        public string msg { get; set; }
    }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值