[教程] Ruby 用阿里云发短信要用哪个 gem?

1,661次阅读
没有评论

背景介绍

[教程] Ruby 用阿里云发短信要用哪个 gem?

最近(2021年11月)我又花了一些时间弄 Ruby 发阿里云短信的事情,
找了一下所有和短信发送相关的 ruby gem,都看了一下,本文章内写了总结。
对读者的价值是:节省读者大约30分钟时间,因为你不需要自己再去搜索市面上的所有 gem 然后对比他们。

这篇文章适合谁来阅读?

Ruby 开发者(不需要有任何阿里云的基础)

写这篇文章还有一个原因

就是看到谷歌上面并没有优质的信息。请看如下两张截图。
我的搜索关键字是 “ruby 用阿里云发短信”

第一张截图,排名第一的那条,是我之前写的一篇文章。2020年2月写的,主要是介绍 gem ‘aliyun-sms’。

第三条信息是 Ruby China 论坛里,
2017年2月的一篇文章,是 gem ‘aliyun-sms’ 的作者发的帖子。

[教程] Ruby 用阿里云发短信要用哪个 gem?

第一页的下半部分,v2ex 这条红框也是我发的帖子,那个时候2018年我查了市面上很多短信服务商,最后得出来的结论是大家的价格都差不多,那既然差不多就用阿里云呗。

然后另外几条,一个是 Python 一个是 SMTP 一个是 Github 链接,都算不上什么有效信息。

[教程] Ruby 用阿里云发短信要用哪个 gem?

问题1:用哪个 gem?

截止到目前2021年11月17号,阿里云官方并没有给短信服务推出 Ruby gem。
尽管上一篇文章 里提到了 “aliyunsdkcore” gem,但由于我没有实际用过这个 gem,所以不予评价。

在 Rubygems 可以找到如下的 gem(右侧是最新版本和该版本的发布时间)

Github 可以再找到这2个 gem

对这些第三方 gem 的评价

阿里大于已经2021年1月1号正式停止了,所以列表里最底下那3个 gem 废了: 、

  • alidayu-sms
  • aliyun-dysms
  • aliyun_dysms_sdk

剩下的:

  • aliyun-sms-ruby-sdk 只有发送功能,文档还凑合,最近更新是2017年,不建议使用。

  • aliyun_sms 情况类似,文档比较简略,最近更新也是2017年

  • aliyun-sms Rubygems 下载量排名第二,这个是我目前在用的 gem。

  • aliyun-cloud_sms 看起来也不错,今年(2021年)1月份才更新过, Rubygems 下载量排第一(28,660) ,文档仍有改进空间。

结论

截止到2021年11月17日写下这篇文章时,
在所有第三方 gem 里,推荐使用这2个:

  • aliyun-sms
  • aliyun-cloud_sms

这2个我都用过。

  • 其中 aliyun-sms 我在生产环境中用了,它只有发短信的功能。其他的没有。
  • 而 aliyun-cloud_sms 我是最近才试用的,它可以发短信也可以查询发送结果。查询发送结果指的是用 QuerySendDetails(如下图所示)

如果你只是发短信,别的不在乎,那么这俩 gem 你都可以用,如果你觉得新版本发布时间更接近现在的比较好,可以用 aliyun-cloud_sms

如果你需要查询发送结果,就只能用 aliyun-cloud_sms 了

[教程] Ruby 用阿里云发短信要用哪个 gem?

以下是 aliyun-cloud_sms 的使用示例

安装:

  1. 在 Gemfile 里添加 gem ‘aliyun-cloud_sms’
  2. 或者运行 gem install aliyun-cloud_sms

比如你可以把以下代码写入 test/aliyun_sms.rb
运行的时候就 ruby ./test/aliyun_sms.rb 就行了

require ‘dotenv/load’ # 这样才会去读取 .env 文件
require “aliyun/cloud_sms” # 引入短信 gem

# 读取环境变量里的配置信息
AccessKey_ID = ENV[‘ALIYUN_SMS_ACCESS_KEY_ID’]
AccessKey_Secret = ENV[‘ALIYUN_SMS_ACCESS_KEY_SECRET’]
Sign_Name = ENV[‘ALIYUN_SMS_SIGN_NAME’]
# puts AccessKey_ID
# puts AccessKey_Secret
# puts Sign_Name

# Client 初始化
client = Aliyun::CloudSms::Client.new(AccessKey_ID, AccessKey_Secret, Sign_Name)
# 这里吐槽一句,这个 gem 的中文文档是错的,里面写的是 client = Aliyun::CloudSms.new(‘your_access_key_id’, ‘your_access_key_secret’, ‘your_sign_name’)
# 如果你这么用,会报错的。
# 正确的做法:Aliyun::CloudSms::Client.new
# 错误的做法:Aliyun::CloudSms.new

# 手机号
phone = ‘135xxxx0000’ # 自己改,填你的手机号

# 阿里云短信模板
template_code = “SMS_227010129” # 自己改,填你账号里的模板号

# 模板参数
template_params = {}

# 实际发送短信
resp = client.send_msg(phone, template_code, template_params)

# 看一下返回的内容
puts resp # {“RequestId”:”EDE9D96B-3432-5993-8C75-A84C84DF57A1″,”Message”:”OK”,”BizId”:”294421737133554357^0″,”Code”:”OK”}

# 返回的类型是
puts resp.class # RestClient::Response

# 根据文档,我们明确调用 body 方法
puts resp.body # {“RequestId”:”388E7267-585B-5EDC-BA9E-E4B78DAFC05A”,”Message”:”OK”,”BizId”:”264216237133696309^0″,”Code”:”OK”}

# 这样返回的才是字符串
puts resp.body.class # String

全文完

背景介绍

[教程] Ruby 用阿里云发短信要用哪个 gem?

最近(2021年11月)我又花了一些时间弄 Ruby 发阿里云短信的事情,
找了一下所有和短信发送相关的 ruby gem,都看了一下,本文章内写了总结。
对读者的价值是:节省读者大约30分钟时间,因为你不需要自己再去搜索市面上的所有 gem 然后对比他们。

这篇文章适合谁来阅读?

Ruby 开发者(不需要有任何阿里云的基础)

写这篇文章还有一个原因

就是看到谷歌上面并没有优质的信息。请看如下两张截图。
我的搜索关键字是 “ruby 用阿里云发短信”

第一张截图,排名第一的那条,是我之前写的一篇文章。2020年2月写的,主要是介绍 gem ‘aliyun-sms’。

第三条信息是 Ruby China 论坛里,
2017年2月的一篇文章,是 gem ‘aliyun-sms’ 的作者发的帖子。

[教程] Ruby 用阿里云发短信要用哪个 gem?

第一页的下半部分,v2ex 这条红框也是我发的帖子,那个时候2018年我查了市面上很多短信服务商,最后得出来的结论是大家的价格都差不多,那既然差不多就用阿里云呗。

然后另外几条,一个是 Python 一个是 SMTP 一个是 Github 链接,都算不上什么有效信息。

[教程] Ruby 用阿里云发短信要用哪个 gem?

问题1:用哪个 gem?

截止到目前2021年11月17号,阿里云官方并没有给短信服务推出 Ruby gem。
尽管上一篇文章 里提到了 “aliyunsdkcore” gem,但由于我没有实际用过这个 gem,所以不予评价。

在 Rubygems 可以找到如下的 gem(右侧是最新版本和该版本的发布时间)

Github 可以再找到这2个 gem

对这些第三方 gem 的评价

阿里大于已经2021年1月1号正式停止了,所以列表里最底下那3个 gem 废了: 、

  • alidayu-sms
  • aliyun-dysms
  • aliyun_dysms_sdk

剩下的:

  • aliyun-sms-ruby-sdk 只有发送功能,文档还凑合,最近更新是2017年,不建议使用。

  • aliyun_sms 情况类似,文档比较简略,最近更新也是2017年

  • aliyun-sms Rubygems 下载量排名第二,这个是我目前在用的 gem。

  • aliyun-cloud_sms 看起来也不错,今年(2021年)1月份才更新过, Rubygems 下载量排第一(28,660) ,文档仍有改进空间。

结论

截止到2021年11月17日写下这篇文章时,
在所有第三方 gem 里,推荐使用这2个:

  • aliyun-sms
  • aliyun-cloud_sms

这2个我都用过。

  • 其中 aliyun-sms 我在生产环境中用了,它只有发短信的功能。其他的没有。
  • 而 aliyun-cloud_sms 我是最近才试用的,它可以发短信也可以查询发送结果。查询发送结果指的是用 QuerySendDetails(如下图所示)

如果你只是发短信,别的不在乎,那么这俩 gem 你都可以用,如果你觉得新版本发布时间更接近现在的比较好,可以用 aliyun-cloud_sms

如果你需要查询发送结果,就只能用 aliyun-cloud_sms 了

[教程] Ruby 用阿里云发短信要用哪个 gem?

以下是 aliyun-cloud_sms 的使用示例

安装:

  1. 在 Gemfile 里添加 gem ‘aliyun-cloud_sms’
  2. 或者运行 gem install aliyun-cloud_sms

比如你可以把以下代码写入 test/aliyun_sms.rb
运行的时候就 ruby ./test/aliyun_sms.rb 就行了

require ‘dotenv/load’ # 这样才会去读取 .env 文件
require “aliyun/cloud_sms” # 引入短信 gem

# 读取环境变量里的配置信息
AccessKey_ID = ENV[‘ALIYUN_SMS_ACCESS_KEY_ID’]
AccessKey_Secret = ENV[‘ALIYUN_SMS_ACCESS_KEY_SECRET’]
Sign_Name = ENV[‘ALIYUN_SMS_SIGN_NAME’]
# puts AccessKey_ID
# puts AccessKey_Secret
# puts Sign_Name

# Client 初始化
client = Aliyun::CloudSms::Client.new(AccessKey_ID, AccessKey_Secret, Sign_Name)
# 这里吐槽一句,这个 gem 的中文文档是错的,里面写的是 client = Aliyun::CloudSms.new(‘your_access_key_id’, ‘your_access_key_secret’, ‘your_sign_name’)
# 如果你这么用,会报错的。
# 正确的做法:Aliyun::CloudSms::Client.new
# 错误的做法:Aliyun::CloudSms.new

# 手机号
phone = ‘135xxxx0000’ # 自己改,填你的手机号

# 阿里云短信模板
template_code = “SMS_227010129” # 自己改,填你账号里的模板号

# 模板参数
template_params = {}

# 实际发送短信
resp = client.send_msg(phone, template_code, template_params)

# 看一下返回的内容
puts resp # {“RequestId”:”EDE9D96B-3432-5993-8C75-A84C84DF57A1″,”Message”:”OK”,”BizId”:”294421737133554357^0″,”Code”:”OK”}

# 返回的类型是
puts resp.class # RestClient::Response

# 根据文档,我们明确调用 body 方法
puts resp.body # {“RequestId”:”388E7267-585B-5EDC-BA9E-E4B78DAFC05A”,”Message”:”OK”,”BizId”:”264216237133696309^0″,”Code”:”OK”}

# 这样返回的才是字符串
puts resp.body.class # String

全文完

 

正文完
可以使用微信扫码关注公众号(ID:xzluomor)
post-qrcode
 0
评论(没有评论)

文心AIGC

2023 年 3 月
 12345
6789101112
13141516171819
20212223242526
2728293031  
文心AIGC
文心AIGC
人工智能ChatGPT,AIGC指利用人工智能技术来生成内容,其中包括文字、语音、代码、图像、视频、机器人动作等等。被认为是继PGC、UGC之后的新型内容创作方式。AIGC作为元宇宙的新方向,近几年迭代速度呈现指数级爆发,谷歌、Meta、百度等平台型巨头持续布局
文章搜索
热门文章
潞晨尤洋:日常办公没必要上私有模型,这三类企业才需要 | MEET2026

潞晨尤洋:日常办公没必要上私有模型,这三类企业才需要 | MEET2026

潞晨尤洋:日常办公没必要上私有模型,这三类企业才需要 | MEET2026 Jay 2025-12-22 09...
面向「空天具身智能」,北航团队提出星座规划新基准丨NeurIPS’25

面向「空天具身智能」,北航团队提出星座规划新基准丨NeurIPS’25

面向「空天具身智能」,北航团队提出星座规划新基准丨NeurIPS’25 鹭羽 2025-12-13 22:37...
商汤Seko2.0重磅发布,合作短剧登顶抖音AI短剧榜No.1

商汤Seko2.0重磅发布,合作短剧登顶抖音AI短剧榜No.1

商汤Seko2.0重磅发布,合作短剧登顶抖音AI短剧榜No.1 十三 2025-12-15 14:13:14 ...
跳过“逐字生成”!蚂蚁集团赵俊博:扩散模型让我们能直接修改Token | MEET2026

跳过“逐字生成”!蚂蚁集团赵俊博:扩散模型让我们能直接修改Token | MEET2026

跳过“逐字生成”!蚂蚁集团赵俊博:扩散模型让我们能直接修改Token | MEET2026 一水 2025-1...
10亿美元OpenAI股权兑换迪士尼版权!米老鼠救Sora来了

10亿美元OpenAI股权兑换迪士尼版权!米老鼠救Sora来了

10亿美元OpenAI股权兑换迪士尼版权!米老鼠救Sora来了 一水 2025-12-12 13:56:19 ...
最新评论
ufabet ufabet มีเกมให้เลือกเล่นมากมาย: เกมเดิมพันหลากหลาย ครบทุกค่ายดัง
tornado crypto mixer tornado crypto mixer Discover the power of privacy with TornadoCash! Learn how this decentralized mixer ensures your transactions remain confidential.
ดูบอลสด ดูบอลสด Very well presented. Every quote was awesome and thanks for sharing the content. Keep sharing and keep motivating others.
ดูบอลสด ดูบอลสด Pretty! This has been a really wonderful post. Many thanks for providing these details.
ดูบอลสด ดูบอลสด Pretty! This has been a really wonderful post. Many thanks for providing these details.
ดูบอลสด ดูบอลสด Hi there to all, for the reason that I am genuinely keen of reading this website’s post to be updated on a regular basis. It carries pleasant stuff.
Obrazy Sztuka Nowoczesna Obrazy Sztuka Nowoczesna Thank you for this wonderful contribution to the topic. Your ability to explain complex ideas simply is admirable.
ufabet ufabet Hi there to all, for the reason that I am genuinely keen of reading this website’s post to be updated on a regular basis. It carries pleasant stuff.
ufabet ufabet You’re so awesome! I don’t believe I have read a single thing like that before. So great to find someone with some original thoughts on this topic. Really.. thank you for starting this up. This website is something that is needed on the internet, someone with a little originality!
ufabet ufabet Very well presented. Every quote was awesome and thanks for sharing the content. Keep sharing and keep motivating others.
热评文章
跳过“逐字生成”!蚂蚁集团赵俊博:扩散模型让我们能直接修改Token | MEET2026

跳过“逐字生成”!蚂蚁集团赵俊博:扩散模型让我们能直接修改Token | MEET2026

跳过“逐字生成”!蚂蚁集团赵俊博:扩散模型让我们能直接修改Token | MEET2026 一水 2025-1...
10亿美元OpenAI股权兑换迪士尼版权!米老鼠救Sora来了

10亿美元OpenAI股权兑换迪士尼版权!米老鼠救Sora来了

10亿美元OpenAI股权兑换迪士尼版权!米老鼠救Sora来了 一水 2025-12-12 13:56:19 ...
IDC MarketScape: 容联云位居“中国AI赋能的联络中心”领导者类别

IDC MarketScape: 容联云位居“中国AI赋能的联络中心”领导者类别

IDC MarketScape: 容联云位居“中国AI赋能的联络中心”领导者类别 量子位的朋友们 2025-1...