阿里云发送国内短信怎样编程

1.准备:阿里云注册,新建用户并授权,获取appkey和secret,开通短信服务,申请资质签名模板,短信服务右下角openapi查看文档和下载实例,在线客服咨询遇到的问题

2.依赖引入:

        <dependency><groupId>com.aliyun</groupId><artifactId>dysmsapi20170525</artifactId><version>2.0.24</version></dependency><dependency><groupId>com.aliyun</groupId><artifactId>tea-openapi</artifactId><version>0.3.2</version></dependency><dependency><groupId>com.aliyun</groupId><artifactId>tea-console</artifactId><version>0.0.1</version></dependency><dependency><groupId>com.aliyun</groupId><artifactId>tea-util</artifactId><version>0.2.21</version></dependency>

3.代码:

public com.aliyun.dysmsapi20170525.Client createClient() throws Exception {// 工程代码泄露可能会导致 AccessKey 泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考。// 建议使用更安全的 STS 方式,更多鉴权访问方式请参见:https://help.aliyun.com/document_detail/378657.html。com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()// 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。.setAccessKeyId("appkey")// 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。.setAccessKeySecret("secret");// Endpoint 请参考 https://api.aliyun.com/product/Dysmsapiconfig.endpoint = "dysmsapi.aliyuncs.com";return new com.aliyun.dysmsapi20170525.Client(config);}public void sendNationSms(String... args_) {try {java.util.List<String> args = java.util.Arrays.asList(args_);com.aliyun.dysmsapi20170525.Client client = createClient();com.aliyun.dysmsapi20170525.models.SendSmsRequest sendSmsRequest = new com.aliyun.dysmsapi20170525.models.SendSmsRequest();sendSmsRequest.setSignName(args.get(0));sendSmsRequest.setPhoneNumbers(args.get(1));sendSmsRequest.setTemplateCode(args.get(2));sendSmsRequest.setTemplateParam(args.get(3));com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();com.aliyun.dysmsapi20170525.models.SendSmsResponse resp = client.sendSmsWithOptions(sendSmsRequest, runtime);com.aliyun.teaconsole.Client.log(com.aliyun.teautil.Common.toJSONString(resp));} catch (TeaException error) {// 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。// 错误 messageSystem.out.println(error.getMessage());// 诊断地址System.out.println(error.getData().get("Recommend"));com.aliyun.teautil.Common.assertAsString(error.message);} catch (Exception _error) {TeaException error = new TeaException(_error.getMessage(), _error);// 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。// 错误 messageSystem.out.println(error.getMessage());// 诊断地址System.out.println(error.getData().get("Recommend"));com.aliyun.teautil.Common.assertAsString(error.message);}}

4.疑难解答:

RAM_PERMISSION_DENY 是阿里云RAM(Resource Access Management)中的一个权限状态,表示RAM用户在尝试访问某个资源时被拒绝,通常是由于该用户没有足够的权限。RAM是阿里云提供的权限管理服务,它允许您控制不同用户、角色对资源的访问权限。
当RAM用户尝试执行某个操作时,如果其不具备执行该操作所需的权限,服务会返回RAM_PERMISSION_DENY的错误码或错误信息。这可能是因为:
1.	权限不足:RAM用户没有被授予执行该操作的权限,可能是由于角色权限设置不正确,或者没有明确赋予该用户相应的权限。
2.	资源权限问题:用户可能对特定资源没有访问权限,这需要检查资源的权限策略,确保用户被允许访问。
3.	策略冲突:如果用户同时拥有多个策略,可能存在一个策略允许访问,而另一个策略拒绝访问,导致权限冲突。
4.	MFA要求:如果服务要求使用多因素认证(MFA)而用户未启用或未正确使用,也可能导致访问被拒绝。
要解决RAM_PERMISSION_DENY问题,需要检查和调整用户的权限策略,确保策略中包含了允许执行所需操作的语句。您可以登录阿里云控制台,通过RAM服务管理用户权限,或者联系管理员进行权限检查和配置。详细步骤和配置信息,可以参考阿里云官方文档管理RAM用户权限。"SMS service is not activated" 表示短信服务未激活,这意味着您的阿里云账号尚未开启或配置短信服务。要解决这个问题,您可以按照以下步骤操作:
1.	确认服务开通:登录阿里云控制台,检查是否已经开通了短信服务。如果没有,您需要前往短信服务页面进行开通。
2.	账户权限检查:如果您是RAM用户,确保您的权限策略允许使用短信服务。如果权限不足,需要联系管理员为您添加相关权限。
3.	服务状态检查:在开通短信服务后,检查服务状态是否正常,是否存在欠费、服务暂停等情况。
4.	签名和模板审核:确保您的短信签名和模板已经审核通过。未通过审核的签名或模板将无法使用。您可以在短信服务控制台的签名管理或模板管理页面查看审核状态。
5.	API调用检查:如果使用API发送短信,确保您使用了正确的AccessKey和AccessKey Secret,并且签名和模板代码正确无误。
请根据上述步骤进行检查和配置,若问题依然存在,请详细描述您的操作过程和遇到的具体问题,以便提供更精确的解决方案。创建AccessKey
更新时间:2024年5月17日 09:49:14
本文为您介绍如何创建RAM用户和阿里云账号(主账号)的访问密钥(AccessKey)。
什么是AccessKey
访问密钥AccessKey(简称AK)是阿里云提供给用户的永久访问凭据,一组由AccessKey ID和AccessKey Secret组成的密钥对。
•	AccessKey ID:用于标识用户。
•	AccessKey Secret:是一个用于验证您拥有该AccessKey ID的密码。
AccessKey ID和AccessKey Secret根据算法由访问控制(RAM)生成,阿里云对AccessKey ID和AccessKey Secret的存储及传输均进行加密。
AccessKey不用于控制台登录,用于通过开发工具(API、CLI、SDK、Terraform等)访问阿里云时,发起的请求会携带AccessKey ID和AccessKey Secret加密请求内容生成的签名,进行身份验证及请求合法性校验。
重要
•	阿里云账号(主账号)默认拥有当前账号下所有云资源的Administrator权限,且无法修改。阿里云账号(主账号)的AccessKey泄露会威胁该账号下所有资源的安全。为保证账号安全,强烈建议您不要给阿里云账号(主账号)创建AccessKey,建议您创建专用于API访问的RAM用户并创建对应的AccessKey,完成最小化授权后,通过编程的方式访问阿里云资源。
•	不要将AccessKey ID和AccessKey Secret保存到工程代码里,避免AccessKey泄露。更多关于凭据的安全使用建议,请参见凭据的安全使用方案。
创建RAM用户的AccessKey
前提条件
您可以使用以下账号创建RAM用户的AccessKey:
•	阿里云账号(主账号)。
•	RAM管理员(拥有AliyunRAMFullAccess权限的RAM用户)。
•	允许自主管理AccessKey的RAM用户。关于如何设置自主管理AccessKey的详情,请参见管理RAM用户安全设置。
使用限制
•	RAM用户的AccessKey Secret只在创建时显示,不支持查看,请妥善保管。如果AccessKey泄露或丢失,请删除并创建新的AccessKey。
•	每个RAM用户最多允许创建2个AccessKey。
操作步骤
1.	登录RAM控制台。
2.	在左侧导航栏,选择身份管理 > 用户。
3.	在用户页面,单击目标RAM用户名称。
4.	在认证管理页签下的AccessKey区域,单击创建AccessKey。5.	根据界面提示完成安全验证。
6.	在创建AccessKey对话框,查看AccessKey ID和AccessKey Secret。
您可以单击下载CSV文件,下载AccessKey信息。单击复制,复制AccessKey信息。7.	单击确定。
创建阿里云账号(主账号)的AccessKey
使用限制
•	2023年11月20日起阿里云账号(主账号)AccessKey不支持创建后再次查看AccessKey Secret。2023年7月5日前创建的阿里云账号(主账号)AccessKey尚未签署知情同意书的,控制台提供最后一次保存和下载的功能,确认保存后不能再次查看。
•	每个阿里云账号(主账号)最多允许创建5个AccessKey。
操作步骤
1.	使用阿里云账号(主账号)登录阿里云控制台。
2.	将鼠标悬浮在右上方的账号图标上,单击AccessKey管理。3.	在安全提示对话框,阅读安全提示信息,然后单击继续使用AccessKey。
4.	在AccessKey页面,单击创建AccessKey。5.	根据界面提示完成安全验证。
6.	在创建AccessKey对话框,查看AccessKey ID和AccessKey Secret。
您可以单击下载CSV文件,下载AccessKey信息。单击复制,复制AccessKey信息。7.	选中我已保存好AccessKey Secret。
8.	单击确定。
相关文档
•	不使用主账号AccessKey
•	定期轮转RAM用户AccessKey
•	清理RAM用户的闲置AccessKey
•	RAM用户不能同时启用两个AccessKey
•	访问密钥(AccessKey)常见问题
•	凭据的安全使用方案
•	使用访问凭证访问阿里云OpenAPI最佳实践
•	AccessKey泄露处理方案开通阿里云短信服务,您需要拥有一个阿里云账号并完成实名认证。然后,您可以按照以下步骤操作:
1.	登录阿里云控制台:首先访问阿里云官网,使用您的账号登录。
2.	进入短信服务控制台:在顶部搜索框中输入“短信服务”或直接访问短信服务控制台。
3.	开通服务:如果您是首次使用,系统会引导您开通短信服务。点击“立即开通”或相应按钮,按照页面提示完成开通流程。
4.	获取AccessKey:开通服务后,您需要AccessKey来调用短信服务API。您可以:
•	查看AccessKey:访问AccessKey查看。
•	创建AccessKey:访问创建AccessKey。
5.	配置短信模板和签名:在控制台中,您需要创建短信签名和模板,这些是发送短信的前提。
6.	开始使用:完成以上步骤后,您就可以在您的应用程序中使用阿里云短信服务SDK来发送短信了。
请确保遵循阿里云的服务条款和相关的法律法规,以确保短信服务的合规使用。如果您在操作过程中遇到任何问题,可以随时联系阿里云客服获取帮助。国内短信接口使用 SendSms - 发送短信 SendBatchSms - 批量发送短信

(全文完)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/24592.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaScript入门宝典:核心知识全攻略(下)

文章目录 前言一、获取标签元素二、操作标签元素属性1. 属性的操作2. innerHTML 三、数组及操作方法1. 数组的定义2. 数组的操作 四、循环语句五、字符串拼接六、定时器1. 定时器的使用3. 清除定时器 七、ajax1. ajax的介绍2. ajax的使用 前言 JavaScript是前端开发不可或缺的技…

Typescript 中 tsconfig.json 无法写入文件,因为它会覆盖输入文件

先来看看问题 在开发ts项目的时候&#xff0c;包错提示无法写入文件 tsconfig.json无法写入文件"url"因为它会覆盖输入文件 这是tsconfig.json文件配置问题&#xff0c;需要加入下面的配置就好了&#xff1a; {"compilerOptions": {"outDir": …

【MySQL数据库】:MySQL索引特性

目录 索引的概念 磁盘 磁盘的基本特征 MySQL与磁盘交互的基本单位 索引的理解 建立测试表 理解单个Page 理解多个Page 页目录 单页情况 多页情况 索引的数据结构 聚簇索引 VS 非聚簇索引 索引操作 创建主键索引 创建唯一索引 创建普通索引 创建全文索引 查询…

海宁代理记账公司-专业的会计服务

随着中国经济的飞速发展&#xff0c;企业的规模和数量日益扩大&#xff0c;在这个过程中&#xff0c;如何保证企业的财务活动合规、准确无误地进行&#xff0c;成为了每个企业面临的重要问题&#xff0c;专业、可靠的代理记账公司应运而生。 海宁代理记账公司的主要职责就是为各…

Prism 入门06,发布订阅(入门完结)

本章节介绍使用 Prism 框架的消息聚合器 IEventAggregator ,实现如何进行消息发布,订阅,取消订阅的功能 继续使用上一章节使用的 Prism WPF 空模板项目 BlankApp1 1.首先,在使用 Prism 框架当中,进行事件消息的发布和订阅之前,需要定义发布事件的事件消息模型。如下所示:…

如何手撸一个java缓存框架

创建一个简单的Java缓存框架涉及到多个方面&#xff0c;包括数据结构的选择、缓存策略的实现、线程安全的保证等。下面是一个简单的Java缓存框架的核心代码案例&#xff0c;它将展示如何实现一个基本的缓存机制。 首先&#xff0c;我们定义一个Cache接口&#xff0c;它包含缓存…

探索str Python用法:深入理解字符串操作的精髓

探索str Python用法&#xff1a;深入理解字符串操作的精髓 在Python的广袤天地中&#xff0c;str类型无疑占据着举足轻重的地位。它不仅是数据处理和信息交换的基石&#xff0c;更是我们与计算机世界沟通的桥梁。然而&#xff0c;str的用法远非表面所见那般简单&#xff0c;它…

端午节景区视频监控方案:智慧景区EasyCVR视频监控系统构建与运用

端午节&#xff0c;作为中国传统节日之一&#xff0c;每年吸引着大量游客前往各地景区参观游览&#xff0c;感受浓厚的文化氛围。然而&#xff0c;随着游客数量的增多&#xff0c;景区管理也面临着越来越多的挑战&#xff0c;其中安全问题尤为突出。因此&#xff0c;实施端午节…

顺序表、链表、栈和队列总结

目录 顺序表 链表 栈 队列 总结 补充 顺序表 实现 链表 实现 栈 实现 队列 实现 顺序表、链表、栈和队列都是线性数据结构&#xff0c;但它们在管理和访问数据方面有不同的特点和用途。以下是它们之间的主要区别&#xff1a; 顺序表 存储方式&#xff1a;在连续…

使用 ESPCN 模型进行超分辨率图像处理

前言 使用 ESPCN (Efficient Sub-Pixel CNN) 模型对低分辨率的图像&#xff0c;进行超分辨率处理。 效果展示 lowres 表示低分辨率图像&#xff0c;highres 表示高分辨率图像&#xff0c;prediction 表示模型预测的高分辨率图像&#xff0c;可以看出模型在生成高分辨率图像过…

力扣hot100:155. 最小栈(栈,辅助栈存储相关信息)

LeetCode&#xff1a;155. 最小栈 1、尝试单调栈 看到这题说&#xff0c;要常数时间内检索最小元素的栈&#xff0c;想到了单调栈&#xff0c;递增单调栈确实能维护最小值&#xff0c;但是这个最小值是存在一定意义的&#xff0c;即如果后面出现了最小值&#xff0c;那么前面…

光电管道液位传感器与电容式液位开关相比

如今&#xff0c;随着检测液位技术的不断发展&#xff0c;检测液位的方法也越来越多&#xff0c;比如浮球开关、电容式液位传感器、管道式液位传感器等等&#xff0c;那么光电管道液位传感器与电容式液位开关相比&#xff0c;有哪些优势&#xff1f; 光电管道液位传感器采用先…

论文高级图表绘制(Python语言,局部放大图)

本文将通过一个具体的示例,展示如何使用Python语言和Matplotlib库来绘制高级图表,包括局部放大图的制作。适用于多条曲线绘制在同一个图表中,但由于数据量过大,导致曲线的细节看不清,需要对细节进行局部放大。如下图: 环境准备 首先,确保你的Python环境中已经安装了以…

页面加载性能分析中,如何确定哪些资源是关键的,哪些可以延迟加载?

在页面加载性能分析中&#xff0c;确定哪些资源是关键的&#xff0c;哪些可以延迟加载&#xff0c;可以通过以下步骤进行&#xff1a; 使用 Performance 面板&#xff1a; 在 Chrome DevTools 的 Performance 面板中记录页面加载过程。分析记录结果&#xff0c;查看哪些资源加载…

基于SSM+Jsp的高校信息资源共享平台

开发语言&#xff1a;Java框架&#xff1a;ssm技术&#xff1a;JSPJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包…

页面加载性能分析时,有哪些常见的性能瓶颈需要特别注意?

在进行页面加载性能分析时&#xff0c;以下是一些常见的性能瓶颈&#xff0c;需要特别注意&#xff1a; 长页面加载时间&#xff1a; 页面加载时间超过行业标准或用户期望&#xff0c;导致用户流失。 高 CPU 使用率&#xff1a; 某些脚本或操作导致 CPU 使用率飙升&#xff0c;…

基于STM32开发的智能家居监控系统

目录 引言环境准备智能家居监控系统基础代码实现&#xff1a;实现智能家居监控系统 4.1 传感器数据读取4.2 电器设备控制4.3 实时数据监控与分析4.4 用户界面与数据可视化应用场景&#xff1a;家庭安全监控与管理问题解决方案与优化收尾与总结 1. 引言 随着智能家居技术的发…

C++的MQTT开发:使用Paho的C++接口实现消息发布、订阅、连接RabbitMQ

C Paho实现MQTT消息发布功能 要使用paho的cpp接口实现发布MQTT消息的功能&#xff0c;需要进行以下步骤&#xff1a; 安装paho库&#xff1a;首先从paho官方网站下载并安装paho的C库。可以从https://www.eclipse.org/paho/clients/cpp/ 下载适合操作系统的版本。 创建MQTT客户…

FM151A,FM171B和利时工控

FM151A,FM171B和利时工控&#xff0c;DCS系统应该具备以下特点&#xff1a;1.系统具备开放的体系结构&#xff0c;可以提供多层的开放数据接口&#xff1b;FM151A,FM171B和利时工控。2.系统应具备强大的处理功能&#xff0c;中型分布式控制系统大型数据采集监控系统功能。FM151…

[数据集][目标检测]室内积水检测数据集VOC+YOLO格式761张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;761 标注数量(xml文件个数)&#xff1a;761 标注数量(txt文件个数)&#xff1a;761 标注类别…