精华内容
下载资源
问答
  • 文章目录前言一、开通短信服务二、快速学习三、签名管理1. 何为签名2. 添加签名四、模板管理1. 何为模板2. 添加模板五、Java中使用阿里大鱼 前言 阿里大于(原阿里大鱼)是阿里通信旗下产品,融合了三大运营商的通信...

    前言

    • 阿里大于(原阿里大鱼)是阿里通信旗下产品,融合了三大运营商的通信能力。
    • 阿里大于提供包括短信、语音、流量直充、私密专线、店铺手机号等个性化服务。
    • 短信服务(Short Message Service)是阿里云为用户提供的一种通信服务的能力,支持快速发送短信验证码、短信通知等。 三网合一专属通道,与工信部携号转网平台实时互联。电信级运维保障,实时监控自动切换,到达率高达99%。
    • 短信服务API提供短信发送、发送状态查询、短信批量发送等能力,在短信服务控制台上添加签名、模板并通过审核之后,可以调用短信服务API完成短信发送等操作。

    一、开通短信服务

    1. 步骤一
      在这里插入图片描述
    2. 步骤二:
      在这里插入图片描述
    3. 步骤三:在这里插入图片描述
    4. 步骤四:登录
      在这里插入图片描述
    5. 步骤五:开通
      在这里插入图片描述
    6. 步骤六:激活,有的需要有的不需要,我这里不需要,因为以前办理过阿里云业务
      在这里插入图片描述
    7. 步骤七:充钱,一点点就好了,一条短信0.045
      在这里插入图片描述

    二、快速学习

    最主要的是左边的侧边栏,都浏览一下,学习一下。
    在这里插入图片描述

    三、签名管理

    1. 何为签名

    你收到的垃圾短信中,或者验证码短信中的开头
    在这里插入图片描述

    2. 添加签名

    需要两小时的审核
    在这里插入图片描述

    四、模板管理

    1. 何为模板

    就是短信内容
    在这里插入图片描述

    2. 添加模板

    需要两小时的审核
    在这里插入图片描述

    五、Java中使用阿里大鱼

    1. 开发文档

    2. 用到的依赖

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <groupId>com.feng.alidayu</groupId>
        <artifactId>alidayu-sendMessage</artifactId>
        <version>1.0-SNAPSHOT</version>
    
    
        <dependencies>
            <dependency>
                <groupId>com.aliyun</groupId>
                <artifactId>aliyun-java-sdk-core</artifactId>
                <version>3.2.3</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/com.aliyun/aliyun-java-sdk-dysmsapi -->
            <dependency>
                <groupId>com.aliyun</groupId>
                <artifactId>aliyun-java-sdk-dysmsapi</artifactId>
                <version>2.1.0</version>
            </dependency>
    
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>1.2.29</version>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.data</groupId>
                <artifactId>spring-data-commons</artifactId>
                <version>2.0.0.RELEASE</version>
            </dependency>
        </dependencies>
    </project>
    

    3. 开发前注意的点

    1. 申请签名和模块,要求挺多,需要两小时。
    2. 需要申请 AccessKey , 可以在开发文档中 API参考AccessKey 文章中根据流程申请
    3. 申请之后还需要为 AccessKey 进行 赋予 权限 ``

    4. 自己的开发案例

    里面有的类不再编写,

    package com.feng.alidayu;
    
    import com.alibaba.fastjson.JSONObject;
    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.http.MethodType;
    import com.aliyuncs.profile.DefaultProfile;
    import com.aliyuncs.profile.IClientProfile;
    import org.springframework.util.StringUtils;
    
    public class SendMessage {
        /**
         * 发送短信服务的参数
         * accessKeyId 阿里云AK
         * accessKeySecret 阿里云SK
         * product 云通信短信API产品
         * domain 产品域名
         */
        //初始化ascClient需要的几个参数
        static final String product = "Dysmsapi";//短信API产品名称(短信产品名固定,无需修改)
        static final String domain = "dysmsapi.aliyuncs.com";//短信API产品域名(接口地址固定,无需修改)
        //替换成你的AK
        static final String accessKeyId = "yourAccessKeyId";//你的accessKeyId,参考本文档步骤2LTAI4GCRrneGRQfmX78mxKzm
        static final String accessKeySecret = "yourAccessKeySecret";//你的accessKeySecret,参考本文档步骤  2WOjZlJVfOH4oOnCjPqasvlhq7UbmTK1
    
        public static void main(String[] args) {
            // 发送短信
            sendSms();
        }
    
        /**
         * 普通发送短信验证码接口
         */
        public static void sendSms() {
            String IP = "";
            String method = "selectsms";
            try {
                //设置超时时间-可自行调整
                System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
                System.setProperty("sun.net.client.defaultReadTimeout", "10000");
    
                //初始化ascClient,暂时不支持多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();
                //使用post提交
                request.setMethod(MethodType.POST);
                //必填:待发送手机号。支持以逗号分隔的形式进行批量调用,批量上限为1000个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式;发送国际/港澳台消息时,接收号码格式为国际区号+号码,如“85200000000”
                request.setPhoneNumbers("1500000000");
                //必填:短信签名-可在短信控制台中找到
                request.setSignName("云通信");
                //必填:短信模板-可在短信控制台中找到,发送国际/港澳台消息时,请使用国际/港澳台短信模版
                request.setTemplateCode("SMS_1000000");
    
                //向数据库中插入数据
                // SmsActivationModel smsActivationModel = new SmsActivationModel();
                //设置验证码
                // smsActivationModel.setVerificationCode(sixValCode);
                //设置入库时间
                // smsActivationModel.setRecordTime(new Date());
                //设置用户手机号
                // smsActivationModel.setUserCode(phoneNo);
    
                //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为
                //友情提示:如果JSON中需要带换行符,请参照标准的JSON协议对换行符的要求,比如短信内容中包含\r\n的情况在JSON中需要表示成\\r\\n,否则会导致JSON在服务端解析失败
                //参考:request.setTemplateParam("{\"变量1\":\"值1\",\"变量2\":\"值2\",\"变量3\":\"值3\"}")
                request.setTemplateParam("{\"name\":\"Tom\", \"code\":\"123\"}");
    
                //可选-上行短信扩展码(扩展码字段控制在7位或以下,无特殊需求用户请忽略此字段)
                //request.setSmsUpExtendCode("90997");
    
                //可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者
                request.setOutId("yourOutId");
    
                //请求失败这里会抛ClientException异常
                SendSmsResponse sendSmsResponse = null;
                sendSmsResponse = acsClient.getAcsResponse(request);
                if(sendSmsResponse.getCode() != null && sendSmsResponse.getCode().equals("OK")) {
                    // 请求成功
                    // int i = smsActivationService.insertSmsActivationModel(smsActivationModel);
                }
            } catch (ClientException e) {
                System.out.println("ResponseCode.SYSTEM_REQ_FAIL: 短信服务系统参数错误");
            } catch (ClassCastException e) {//请求参数格式错误
                System.out.println("ResponseCode.SYSTEM_REQ_FAIL: 请求参数格式错误");
            } catch (NumberFormatException e) {
                System.out.println("ResponseCode.SYSTEM_REQ_FAIL: 请求参数格式错误");
            } catch (Exception e) {//系统未知异常
                System.out.println("ResponseCode.SYSTEM_REQ_FAIL: 短信服务系统参数错误");
            }
        }
    
        /**
         * 注册时使用
         * 
         * @param data
         * @return
         */
        public static void regselectsms(JSONObject data) {
            String IP = "";
            String method = "regselectsms";
            try {
                String phoneNo = (String) data.get("phoneNo");
                if (!StringUtils.isEmpty(phoneNo)) {
                    //检验手机号是否正确
                    String MPHONE_REGEX = "(\\+\\d+)?1[123456780]\\d{9}$";
                    if(!phoneNo.matches(MPHONE_REGEX)){
                        System.out.println("手机号输入错误");;
                    }
                    //判断用户是否存在 userbaseService 用户业务类,此处不再创建
                    if(userbaseService.selectUserbaseByPhone(phoneNo) != null){
                        System.out.println("用户不存在");;
                    }
                    //判断时间60秒内不能重复请求 smsActivationService 信息时间验证类,此处不再创建
                    if (smsActivationService.valTimeOut(phoneNo)) {
                        System.out.println("60s内重复请求短信服务");
                    }
                    //自助调整超时时间
                    System.setProperty("sun.net.client.defaultConnectTimeout", "300000");
                    System.setProperty("sun.net.client.defaultReadTimeout", "300000");
                    //初始化acsClient,暂不支持region化
                    IClientProfile profile = DefaultProfile.getProfile("cn-beijing", accessKeyId, accessKeySecret);
                    DefaultProfile.addEndpoint("cn-beijing", "cn-beijing", product, domain);
                    IAcsClient acsClient = new DefaultAcsClient(profile);
                    //组装请求对象
                    SendSmsRequest request = new SendSmsRequest();
                    //待发送手机号
                    request.setPhoneNumbers(phoneNo);
                    //短信签名-可在短信控制台中找到
                    request.setSignName("企通查");
                    //短信模板-可在短信控制台中找到
                    request.setTemplateCode("SMS_121146507");
                    //模板中的变量替换JSON串,如模板内容为"您的验证码为${code}"时,此处的值为
                    String sixValCode = CodeUtil.getSixValCode();
    
                    //向数据库中插入数据
                    // SmsActivationModel smsActivationModel = new SmsActivationModel();
                    //设置验证码
                    // smsActivationModel.setVerificationCode(sixValCode);
                    //设置入库时间
                    // smsActivationModel.setRecordTime(new Date());
                    //设置用户手机号
                    // smsActivationModel.setUserCode(phoneNo);
    
                    request.setTemplateParam("{\"code\":\"" + sixValCode + "\"}");
    
                    //此处可能会抛出异常,注意catch
                    //发短信
                    SendSmsResponse response = acsClient.getAcsResponse(request);
                    if (!"OK".equals(response.getCode())) {//短信发送失败
                        System.out.println("短信发送失败");
                    }
                    // int i = smsActivationService.insertSmsActivationModel(smsActivationModel);
                } else {//缺少参数
                    System.out.println("手机号不能为空");;
                }
            } catch (ClientException e) {
                System.out.println("短信服务系统参数错误");
            } catch (ClassCastException e) {//请求参数格式错误
                System.out.println("请求参数格式错误");
            } catch (NumberFormatException e) {
                System.out.println("请求参数格式错误");
            } catch (Exception e) {//系统未知异常
                System.out.println("请求参数格式错误");
            }
        }
    }
    
    
    展开全文
  • Java发短信实例

    2019-09-09 17:09:58
    首先准备发短信需要的 SID Token 发送人的号码 推荐一个发短信的API的网站 :https://www.twilio.com/可以到里面注册帐号申请SID和Token 安装步骤注册填写资料,填写绑定手机号码,注册完之后在控制台里可以看到如下...
    1. 首先准备发短信需要的
      SID
      Token
      发送人的号码
      推荐一个发短信的API的网站 :https://www.twilio.com/可以到里面注册帐号申请SID和Token
      安装步骤注册填写资料,填写绑定手机号码,注册完之后在控制台里可以看到如下:
      在这里插入图片描述
      上面标注的地方要记下来,待会用到发短信要用到
    2. 在项目中使用maven引入jar包
               <!-- 短信驱动Jar -->
    			<dependency>
    				<groupId> com.twilio.sdk </groupId>
    				 <artifactId>twilio</artifactId>
    				 <version>7.41.2</version> 
    			</dependency>
    

    写一个测试类
    在这里插入图片描述
    按照注册帐号提供的SID和Token,Trial Number 发送号码 代入进去,运行发送成功后会返回一个执行成功的ID
    在这里插入图片描述

    可以参考官网的官方文档:地址链接 https://www.twilio.com/docs/sms/quickstart/java 图片如下:
    在这里插入图片描述
    是不是很简单,行动起来你也试试看吧!!

    展开全文
  • 手机学校办理的,因为还有余额和套餐所以带回来用,但最近发现不能发短信,(可以打接电话、收短信)。查了一下问题,跟短信中心有问题,短信先发送到服务商那里,本地卡装上手机可以自动获取当地的短信中心,但是...

    手机:MX4

    手机卡:移动
    备注:外地
     
    手机学校办理的,因为还有余额和套餐所以带回来用,但最近发现不能发短信,(可以打接电话、收短信)。查了一下问题,跟短信中心有问题,短信先发送到服务商那里,本地卡装上手机可以自动获取当地的短信中心,但是外地的卡并不能,所以要自己设置。
     
    步骤:
    进入拨号界面,输入"*#*#4636#*#*",进入工程模式→手机信息
    点击“需要打开IMS注册”变成“需要关闭IMS注册”
    点击“启用通过IMS发送短信的功能”变成“停用通过IMS发送短信的功能”
    然后进入短信设置找到短信中心更改相应号码:手机卡归属地所在的移动/联通的短信中心号

    转载于:https://www.cnblogs.com/tpanda/p/5744531.html

    展开全文
  • 本文为在centos下部署短信猫发短信使用,以下为具体环境和步骤说明,欢迎留言! 一、环境说明 服务器:centos6.5 x64 依赖包:lockdev-1.0.1-18.el6.x86_64.rpm、lrzsz-0.12.20-27.1.el6.x86_64.rpm、minicom-...

     本文为在centos下部署短信猫发短信使用,以下为具体环境和步骤说明,欢迎留言!

    一、环境说明

    • 服务器:centos6.5 x64
    • 依赖包:lockdev-1.0.1-18.el6.x86_64.rpm、lrzsz-0.12.20-27.1.el6.x86_64.rpm、minicom-2.3-8.el6.x86_64.rpm 、perl-XML-Parser-2.36-7.el6.x86_64.rpm及压缩包 gnokii-0.6.31.tar.gz和intltool-0.41.1.tar.gz。

    二、步骤

      1. 安装rpm包

    rpm -ivh lockdev-1.0.1-18.el6.x86_64.rpm

    rpm -ivh lrzsz-0.12.20-27.1.el6.x86_64.rpm

    rpm -ivh minicom-2.3-8.el6.x86_64.rpm

    rpm -ivh perl-XML-Parser-2.36-7.el6.x86_64.rpm

    • 安装示意图如下:

            

      2. 编译安装intltool,依次执行下面的命令

    # tar zxvf intltool-0.41.1.tar.gz
    # cd intltool-0.41.1
    # ./configure
    # make && make install  

         3.   编译安装minicom,依次执行下面的命令

    # tar zxvf gnokii-0.6.31.tar.gz

    # cd gnokii-0.6.30

    #./configure

    # make && make install

       4.  配置minicom

      # minicom -s

    •   选择 serial port setup

      

    •   进入后输入A,并编辑当前接入服务器的短信猫所处的com口,可以在任一目录下执行ll /deb/tty*,看到ttyUSB0或ttyUSB1时即可确定com口,波特率一般为115200;

      

    •   按下回车,选中Save setup as dfl并 选中Exit from Minicom即可退出minicom。

      

      5.   配置gnokii

    •   创建目录并复制样例

    # mkdir -p /root/.config/gnokii
    # cp /usr/local/share/doc/gnokii/sample/gnokiirc /root/.config/gnokii/config

    • 编辑并修改配置文件config

    # vi /root/.config/gnokii/config

    [global]
    port = /dev/ttyUSB1
    model = AT
    initlength = default
    connection = serial
    use_locking = no
    serial_baudrate = 115200
    smsc_timeout = 10

    [xgnokii]
    allow_breakage = 0
    [gnokiid]
    bindir = /usr/local/bin/

    [connect_script]
    TELEPHONE = 12345678
    [disconnect_script]
    [logging]
    debug = off
    rlpdebug = off
    xdebug = off   #上述三个开关为debug日志,打开后可以发送短信短信的过程
    [phone_fake]
    port = foobar
    model = AT
    connection = serial

    [fake_driver]
    sms_inbox = /tmp/sms

     

    6.   测试发短信

    echo -e "发送内容" |/usr/local/bin/gnokii --sendsms 1731773****(号码)

    其中“”中的内容为发的内容,后面的号码为接收短信的手机号码。

     

    7.附录

    Lockdev下载路径:

    https://centos.pkgs.org/6/centos-x86_64/lockdev-1.0.1-18.el6.x86_64.rpm.html

    lrzsz下载路径:

    https://pkgs.org/download/lrzsz

    minicom下载路径:

    https://centos.pkgs.org/6/centos-x86_64/minicom-2.3-8.el6.x86_64.rpm.html

    perl-XML-Parser下载路径:

    https://centos.pkgs.org/6/centos-x86_64/perl-XML-Parser-2.36-7.el6.x86_64.rpm.html

    intltool下载路径:

    http://download.chinaunix.net/download.php?id=38033&ResourceID=12284

    gnokii下载路径:

    http://www.gnokii.org/download/gnokii/

      

    转载于:https://www.cnblogs.com/ddpeng/p/7928437.html

    展开全文
  • 当然,我相信,用Python发短信应用场景不止此一处,下面我们开始Python发短信的实现。首先,看下成果展示:然后,看下代码实现:是不是非常简单!现在开始具体讲解,如何实现Python发短信功能。操作步骤1、安装模...
  • 原地址:... 具体的操作步骤如下: 1、把smslib-3.3.0b2.jar、comm.jar与log4j-1.2.11.jar,放入到工程的lib中; 2、把javax.comm.properties放到%JAVA_HOME%/jre/lib下; 3、把win32com.dll放到
  • Swift3.0 中实现发短信功能

    千次阅读 2017-03-30 23:19:32
    要实现发短信的功能其实不难,可以利用系统的MessageUI.framework框架 就可以实现,步骤如下:  1.首先判断设备是否有发送短信功能  2.如果设备允许发送短信,创建一个MFMessageComposeViewController视图控制器...
  • 目标:通过python给手机发送短信 步骤: 1、基础环境配置 2、注册twilio账号 3、申请一个免费的twilio号码 4、代码并测试 1、基础环境 基础环境:Python语言;安装核心工具包numpy、pandas、sklearn、...
  • 参考:python利用twilio模块给自己发短信 参考:使用python实现往手机发短信(基于twilio) 步骤如下: 登录 Twilio 网站注册,貌似需要***,包括用户名、密码、手机号、项目目的&名称等; 通过 Console...
  • 想要用Java发短信基本步骤: 1.在短信接口服务商注册个账号(如阿里云) 注意,个人账号是不能发送营销短信的。 2.将短信签名和模板都编辑并审核通过。 3.下载官方提供的Java语言Demo项目,将相关参数(如模板ID、...
  • 阿里云短信发送工具类 ...方便的是可以直接用支付宝扫码登录; 里面的短信服务 ...(不要yy可以随意发短信,模板顾名思义四是有标准的,申请也是,如果不符合模板标准是不会通过的,申请一般一天就搞定了)...
  • PHP发短信 PEAR 包:Services_Sms 对于这种第三方库,PHP官方称之为PEAR,需要... ... 由于项目要发短信,所以我开发了一个,现在整理开源出来。安装步骤如下: pear channel-discover sinkcup.github.io/pear ...
  • 首先网上有很多倒计时60s的文章,但是我觉得讲的都不够详细,把自己写好的代码出来供大家参考一下。 1.我是用的Android 已经封装好的定时器类CountDownTimer 首先创建一个类TimeCount继承CountDownTimer,类名可以...
  • 手机短信现在基本上还是在用,即使大部分功能已经被一些即时通讯工具所替代,但是有些人际可能还是不是很方便用即时通讯工具来进行沟通,所以有时候还需要发短信。短信里大部分都是一些垃圾短信,所以在删除这些垃圾...
  • 看到一老兄用php和阿里云短信服务做了一个每天给女朋友发短信的案例,挺有意思,自己也用nodejs做了一版。https://segmentfault.com/a/11... 步骤1 现在阿里云通信中的短信签名中申请签名,签名在你短信中是以: ...
  • 项目需要在基于Qt的界面下发送短信,选用4G模块SIM7600通过AT指令发送短信,和小伙伴调了一天多,终于可以了,下面简单总结一下调试过程中遇到的问题和学习到的经验,供大家参考,少走弯路。...2、发送中文短信步骤...
  • 使用python代码给手机发短信详解twilio网页注册实现代码效果演示 使用python代码给手机发送短信,在这里给大家推荐一个比较好的免费网站twilio网页申请 下面给大家介绍一下使用及申请的步骤: twilio网页注册 首先...
  • 三星 N7100/GALAXY Note2 解决短信发件人实际发送短信时间... 解决短信发件人实际发送短信时间显示为当前时间的bug 如果别人给你了一条短信,而你手机当前是关机状态,那么当你开机后,收到短信时间为当前...
  • 移动的聊天软件飞信2008-可以免费往手机发短信! ...分享步骤:双击安装包下载安装--注册--输入验证码--注册成功--登录--免费发短信 如果不喜欢删除即可,看到比较好,而且体积不大,才放在这!
  • 【本demo知识要点】 请查看《Android组件之间的信使intent学习源码,启动activity并传值》 通过本demo可以学习到: ...启动发短信程序。 【实现步骤】 实例化intent类; 设置intent的actio
  • 让您的python会发短信 首先我们知道,我们不可能完全凭借python直接向手机发送短信的,就算有牛人做出了这样的技术,那么运营商也是绝对不会允许这样的情况发生的 可以用于用户注册验证/手机认证/紧急通知等场景...
  • Android11中有个坑 在Android下面的AndroidManifest.xml中需要额外声明一个权限 <...步骤 使用url_launcher插件,去官网下载之后,导包 import ‘package:url_launcher/url_launcher.dart’; cla
  • 前排提示:这个模块不是用于对陌生人进行短信轰炸和电话骚扰的,这个模块也没有这个功能,如果是抱着这个心态来的,可以关闭网页了 语言:python 步骤一:安装twilio模块 pip install twilio 步骤二:进入官网注册 ...
  • 尽管如此,可以毫不客气地说,90%的促销短信错了 常规操作流程 一般来说,促销短信的发送通常包含下几个步骤: 1. 文案准备 准备2-3个备选方案,提交给主管/老板做最终选择 2. 宝贝/店铺链接转为...
  • 防止盗大概有一下几点: 1.短信发送间隔设置-------&gt; 设置同一号码重复发送的时间间隔,一般设置为60到120秒 2.ip限定----&gt; 根据业务特点,设置每个IP每天的最大发送量 3.流程限定------&gt...
  • 1.方案简介 传统×××的双因子认证技术是基于硬件令牌方式,IT管理员会为每个×××用户分配分发一只令牌,×××用户登录时输入令牌上显示的6位随即数字,即可...短信密码通过短信方式将包含随机密码的文本...
  • = 电话拨号器/点击事件写法 =开发安卓应用步骤: - 1. 写UI, 即布局文件. - 2. 写代码, Activity, ContentProvider, Service, 等等. - 3. 在清单文件中配置 Activity 等四大组件. - 4. 在清单文件中添加权限.下面...

空空如也

空空如也

1 2 3 4 5 ... 16
收藏数 304
精华内容 121
关键字:

发短信步骤