{"id":37423242,"url":"https://github.com/jackieonway/sms-spring-boot-project","last_synced_at":"2026-01-16T06:09:23.592Z","repository":{"id":39324946,"uuid":"188408857","full_name":"jackieonway/sms-spring-boot-project","owner":"jackieonway","description":"短信服务Spring Boot Starter ,目前支持腾讯、阿里、赛邮和云之讯短信服务，腾讯、阿里、赛邮和云之讯短信均已验证，期待各位小伙伴合作完善这个项目","archived":false,"fork":false,"pushed_at":"2022-08-01T07:30:00.000Z","size":150,"stargazers_count":82,"open_issues_count":1,"forks_count":43,"subscribers_count":6,"default_branch":"dev","last_synced_at":"2023-03-04T06:42:03.291Z","etag":null,"topics":["async","cache","limit","sms","sms-api","sms-spring-boot","smsservice","spring-boot"],"latest_commit_sha":null,"homepage":"https://github.com/jackieonway/sms-spring-boot-project","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jackieonway.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-05-24T11:17:22.000Z","updated_at":"2023-02-27T13:14:21.000Z","dependencies_parsed_at":"2022-08-09T14:48:11.882Z","dependency_job_id":null,"html_url":"https://github.com/jackieonway/sms-spring-boot-project","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"purl":"pkg:github/jackieonway/sms-spring-boot-project","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jackieonway%2Fsms-spring-boot-project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jackieonway%2Fsms-spring-boot-project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jackieonway%2Fsms-spring-boot-project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jackieonway%2Fsms-spring-boot-project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jackieonway","download_url":"https://codeload.github.com/jackieonway/sms-spring-boot-project/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jackieonway%2Fsms-spring-boot-project/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28477632,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T03:13:13.607Z","status":"ssl_error","status_checked_at":"2026-01-16T03:11:47.863Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["async","cache","limit","sms","sms-api","sms-spring-boot","smsservice","spring-boot"],"created_at":"2026-01-16T06:09:23.478Z","updated_at":"2026-01-16T06:09:23.582Z","avatar_url":"https://github.com/jackieonway.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# sms-spring-boot-project\n短信服务 Spring Boot Starter，目前只支持腾讯和阿里短信服务，腾讯和阿里云短信均已验证，期待各位小伙伴合作完善这个 starter。\n\n## 前言\n短信服务在用户注册、登录、找回密码等相关操作中，可以让用户使用更加便捷，越来越多的公司都采用短信验证的方式让用户进行操作，从而提高用户的实用性。\n\n##  相对于 0.0.1 版本区别\n\n1. 由于v0.0.1版本是直接将三个版本依赖同时引入，属于强依赖，因此在使用的过程中需要配置指定使用哪个短信服务商地址，\n考虑到在使用短信发送的过程中带来一定的不方便，将所有相关的强依赖移除，从而减轻依赖关系。\n2. 使用的方式相对v0.0.1的区别不大，只是需要单独引入对应的短信服务商的依赖即可快速上手。\n3. 最新版本为v0.0.3,支持发送记录缓存功能。\n## 短信服务 Starter\n\n### 1. 开发工具及编译\n\u003e * IntelliJ IDEA 2018.2.5+\n\u003e * Maven 3.5+\n\u003e * JDK 1.8+\n\n### 2. 如何使用 sms-spring-boot-starter\n\n#### (1). 在 pom 文件中引入\n\n ```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.github.jackieonway.sms\u003c/groupId\u003e\n    \u003cartifactId\u003esms-spring-boot-starter\u003c/artifactId\u003e\n    \u003cversion\u003e0.0.2\u003c/version\u003e\n    \u003c!-- 腾讯短信依赖 --\u003e\n   \u003c!--  \u003cdependency\u003e\n           \u003cgroupId\u003ecom.tencentcloudapi\u003c/groupId\u003e\n           \u003cartifactId\u003etencentcloud-sdk-java\u003c/artifactId\u003e\n           \u003cversion\u003e3.1.83\u003c/version\u003e\n        \u003c/dependency\u003e--\u003e\n\n    \u003c!-- 阿里短信依赖 --\u003e\n    \u003c!--\u003cdependency\u003e\n        \u003cgroupId\u003ecom.aliyun\u003c/groupId\u003e\n        \u003cartifactId\u003ealiyun-java-sdk-core\u003c/artifactId\u003e\n        \u003cversion\u003e4.4.1\u003c/version\u003e\n    \u003c/dependency\u003e--\u003e\n\n    \u003c!-- 云之讯短信依赖 --\u003e\n    \u003c!--\u003cdependency\u003e\n        \u003cgroupId\u003ecom.github.jackieonway.sms\u003c/groupId\u003e\n        \u003cartifactId\u003eucpass-client\u003c/artifactId\u003e\n        \u003cversion\u003e0.0.2\u003c/version\u003e\n    \u003c/dependency\u003e--\u003e\n    \u003c!-- 赛邮短信依赖 --\u003e\n        \u003c!--\u003cdependency\u003e\n            \u003cgroupId\u003ecom.github.jackieonway.sms\u003c/groupId\u003e\n            \u003cartifactId\u003esubmail-client\u003c/artifactId\u003e\n            \u003cversion\u003e0.0.2\u003c/version\u003e\n    \u003c/dependency\u003e--\u003e\n\u003c/dependency\u003e\n ```\n\n#### (2). 在 application.yml 中进行配置\n\n```yaml\nspring:\n  jackieonway:\n    sms:\n      sms-type: tencent  # 短信服务商，默认为ali\n      security-key: your security-key # 短信的私钥\n      appid: your appid # 短信的应用id\n      sign: your sign # 短信的签名\n      region: \n```\n如果是阿里云短信，请参考以下配置:\n\n```yaml\nspring:\n  jackieonway:\n    sms:\n      sms-type: ali  # 短信服务商，默认为ali\n      access-key: your aliyun access-key-id # 阿里云短信服务的公钥\n      security-key: your aliyun access-key-secret # 阿里云短信服务的私钥\n      domain: # 阿里云 域名\n      region: cn-hangzhou # 阿里云短信服务的区域id\n      version: \n```\n如果是云之讯短信，请参考以下配置:\n\n```yaml\nspring:\n  jackieonway:\n    sms:\n      sms-type: ucpass  # 短信服务商 ，默认为ali\n      appid: \n      access-key: your ucpass access-key-id #云之讯短信服务的公钥\n      security-key: your ucpass access-key-secret # 云之讯短信服务的私钥\n      domain: open.ucpaas.com # 云之讯短信服务地址 such as open.ucpaas.com\n```\n\n如果是赛邮，请参考以下配置:\n\n```yaml\nspring:\n  jackieonway:\n    sms:\n      sms-type: submail  # 短信服务商，默认为ali\n      appid:   # 赛邮appId\n      security-key: # 赛邮appkey\n```\n\n#### (3). 在 Springboot 主程序上加入注解\n\n ```java\n@SpringBootApplication\n@EnabledSmsAutoConfiguration\npublic class SmsDemoApplication {\n\n    public static void main(String[] args) {\n        SpringApplication.run(SmsDemoApplication.class, args);\n    }\n\n}\n ```\n\n#### (4). 创建发送短信程序\n\n\u003e 相对于 0.0.1 版本的短信服务，从 0.0.2 开始,依赖取消了版本的强依赖性，这样就需要在使用的时候显示引入相关依赖,使用注入 SmsService 时，直接注入即可\n现在支持 阿里、腾讯、云之讯短信服务\n\n```java\n    @Autowired\n    private SmsService smsService;\n```\n\n\n参考示例如下：\n\n```java\n@RestController\npublic class HelloController {\n\n    @Autowired\n    private SmsService smsService;\n\n    @GetMapping(\"/tencent\")\n    public Object tencent() {\n        // 具体配置请参照具体运营商\n        // your template params\n        String[] paramst = {\"5678\",\"5\"};\n        TencentSmsRequest tencentSmsRequest = new TencentSmsRequest();\n        tencentSmsRequest.setPhoneNumber(new String[]{\"your cellphone\"});\n        tencentSmsRequest.setParams(paramst);\n        return smsService.sendTemplateSms(\"328921\", tencentSmsRequest);\n    }\n\n    /* @GetMapping(\"/ali\")\n     public Object ali() {\n         // 具体配置请参照具体运营商\n         AliSmsRequest aliSmsRequest = new AliSmsRequest();\n         aliSmsRequest.setPhoneNumbers(new String[]{\"18600000000\"});\n         aliSmsRequest.setTemplateParam(\"{\\\"code\\\":\\\"123456\\\"}\");\n         aliSmsRequest.setSignName(\"xx科技\");\n         return smsService.sendTemplateSms(\"SMS_148614533\",aliSmsRequest);\n     }*/\n}\n\n```\n\n#### (5). 发送\n访问 http://localhost:8080/tencent\n![发送结果](https://upload-images.jianshu.io/upload_images/12660257-e408bef0f9735a2a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)\n\n访问 http://localhost:8080/ali ，短信发送成功：\n\n![image-20200311121852665](http://img.cdn.kuaidiba.cn/md/2020-03-11-041853.png)\n\n### 3. SmsService 接口\n\n```java\n    /**\n     *  单个发送短信\n     * @param params 根据对应的短信服务商所需信息填写\n     */\n    public Object sendSms(Integer type,Object params);\n\n    /**\n     * 单个发送模板短信\n     * @param tempalteId 短信模板id\n     * @param params 根据对应的短信服务商所需信息填写\n     */\n    public Object sendTemplateSms(String tempalteId, Object params);\n\n    /**\n     *  批量发送短信\n     * @param params 根据对应的短信服务商所需信息填写\n     */\n    public Object sendBatchSms(int type,Object params);\n\n    /**\n     * 批量发送模板短信\n     * @param tempalteId 短信模板id\n     * @param params 根据对应的短信服务商所需信息填写\n     */\n    public Object sendBatchTemplateSms(String tempalteId, Object params);\n\n    /**\n     * 异步发送模板短信\n     * @param tempalteId 短信模板id\n     * @param params 根据对应的短信服务商所需信息填写\n     */\n    void asyncSendTemplateSms(@NonNull String templateId, BaseRequest params);\n\n    /**\n     * 异步批量发送模板短信\n     * @param tempalteId 短信模板id\n     * @param params 根据对应的短信服务商所需信息填写\n     */\n    void asnycSendBatchTemplateSms(@NonNull String templateId, BaseRequest params);     \n\n```\n\n## 结语\n\n目前腾讯短信服务、阿里云短信服务和云之讯短信服务均已验证成功，希望各位小伙伴共同完善该 starter，觉得有用请 starter 该项目。如果只想使用而腾讯云、阿里云等短信业务的话，按照 Demo 使用即可。\n\n## 如何参与贡献\n    1. Fork 本仓库到自己的仓库\n    2. 从dev分支新建自己的分支\n    3. 修改或增加代码\n    4. 提交 Pull Requests ，等待审核合并\n## 最新版本使用\n\n#### (1). 在 pom 文件中引入\n\n ```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.github.jackieonway.sms\u003c/groupId\u003e\n    \u003cartifactId\u003esms-spring-boot-starter\u003c/artifactId\u003e\n    \u003cversion\u003e0.0.3-SNAPSHOT\u003c/version\u003e\n    \u003c!-- 腾讯短信依赖 --\u003e\n    \u003c!--\u003cdependency\u003e\n        \u003cgroupId\u003ecom.github.qcloudsms\u003c/groupId\u003e\n        \u003cartifactId\u003eqcloudsms\u003c/artifactId\u003e\n        \u003cversion\u003e1.0.6\u003c/version\u003e\n    \u003c/dependency\u003e--\u003e\n\n    \u003c!-- 阿里短信依赖 --\u003e\n    \u003c!--\u003cdependency\u003e\n        \u003cgroupId\u003ecom.aliyun\u003c/groupId\u003e\n        \u003cartifactId\u003ealiyun-java-sdk-core\u003c/artifactId\u003e\n        \u003cversion\u003e4.4.1\u003c/version\u003e\n    \u003c/dependency\u003e--\u003e\n\n    \u003c!-- 云之讯短信依赖 --\u003e\n    \u003c!--\u003cdependency\u003e\n        \u003cgroupId\u003ecom.github.jackieonway.sms\u003c/groupId\u003e\n        \u003cartifactId\u003eucpass-client\u003c/artifactId\u003e\n        \u003cversion\u003e0.0.3-SNAPSHOT\u003c/version\u003e\n    \u003c/dependency\u003e--\u003e\n   \u003c!-- 赛邮短信依赖 --\u003e\n   \u003c!--\u003cdependency\u003e\n         \u003cgroupId\u003ecom.github.jackieonway.sms\u003c/groupId\u003e\n         \u003cartifactId\u003esubmail-client\u003c/artifactId\u003e\n         \u003cversion\u003e0.0.3-SNAPSHOT\u003c/version\u003e\n    \u003c/dependency\u003e--\u003e\n\u003c/dependency\u003e\n ```\n### 指定使用 Snapshot Repository\n```xml\n    \u003crepositories\u003e\n        \u003crepository\u003e\n            \u003cid\u003emavenRepoCenter\u003c/id\u003e\n            \u003cname\u003eMaven Development Snapshot Repository\u003c/name\u003e\n            \u003curl\u003ehttps://oss.sonatype.org/content/repositories/snapshots\u003c/url\u003e\n            \u003creleases\u003e\n                \u003cenabled\u003efalse\u003c/enabled\u003e\n            \u003c/releases\u003e\n            \u003csnapshots\u003e\n                \u003cenabled\u003etrue\u003c/enabled\u003e\n            \u003c/snapshots\u003e\n        \u003c/repository\u003e\n    \u003c/repositories\u003e\n```\n##  感谢\n感谢参与提出意见或参与贡献的小伙伴\n\n云之讯短信服务提供: **[@bigbearLoveTingting](https://github.com/bigbearLoveTingting)**\n赛邮云短信服务提供: **[@hb0730](https://github.com/hb0730)**\n\n参与贡献人员 : **[@flanliulf](https://github.com/flanliulf)**  **[@hb0730](https://github.com/hb0730)**\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjackieonway%2Fsms-spring-boot-project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjackieonway%2Fsms-spring-boot-project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjackieonway%2Fsms-spring-boot-project/lists"}