访问被拒绝,你可能没有权限或未登录。

Ruby 个人开发者如何发送短信?这个方案太香了!

nolancode · 2025年04月25日 · 最后由 jackqt 回复于 2025年04月25日 · 83 次阅读

还在为无法发送短信验证码而烦恼?今天分享一个超实用的解决方案,个人开发者也能用!

最近国内很多平台暂停了针对个人用户的短信发送,这给个人开发者带来了不少困扰。不过别担心,一个超实用的解决方案——Spug 推送平台,它能很好地满足我们发送短信验证码等需求。

为什么选择这个方案?

  1. 无需企业认证:个人开发者直接可用
  2. 新用户福利:注册即送测试短信
  3. 价格实惠:0.05 元/条,按量计费
  4. 接口简单:几行代码就能搞定
  5. 支持丰富:短信、电话、微信、企业微信、飞书、钉钉、邮件等

三步搞定短信发送

第一步:注册账户

打开push.spug.cc,使用微信扫码直接登录,无需繁琐的认证流程。

第二步:创建模板

  1. 点击"消息模板" → "新建"
  2. 输入模版名称
  3. 选择推送通道
  4. 选择短信验证码模板
  5. 选择推送对象
  6. 保存模板

第三步:发送验证码

复制模版 ID,通过 API 调用即可发送短信验证码。

代码示例(多种语言)

Ruby 版

require 'net/http'
require 'uri'

def send_sms(template_id, code, phone)
  url = URI("https://push.spug.cc/send/#{template_id}?code=#{code}&targets=#{phone}")
  response = Net::HTTP.get_response(url)
  if response.is_a?(Net::HTTPSuccess)
    response.body
  else
    raise "HTTP request failed with status code: #{response.code}"
  end
end

begin
  result = send_sms('abc', '6677', '151xxxx0875')
  puts result
rescue StandardError => e
  puts "Error: #{e.message}"
end 

Python 版(推荐)

import requests

def send_sms(template_id, code, phone):
    url = f"https://push.spug.cc/send/{template_id}"
    params = {
        "code": code,
        "targets": phone
    }
    response = requests.get(url, params=params)
    return response.json()

# 使用示例
result = send_sms("abc", "6677", "151xxxx0875")
print(result)

Go 版

package main

import (
    "fmt"
    "net/http"
    "io/ioutil"
)

func sendSMS(templateID, code, phone string) (string, error) {
    url := fmt.Sprintf("https://push.spug.cc/send/%s?code=%s&targets=%s", 
        templateID, code, phone)

    resp, err := http.Get(url)
    if err != nil {
        return "", err
    }
    defer resp.Body.Close()

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        return "", err
    }

    return string(body), nil
}

func main() {
    result, err := sendSMS("abc", "6677", "151xxxx0875")
    if err != nil {
        fmt.Println("Error:", err)
        return
    }
    fmt.Println(result)
}

使用技巧

  1. 参数说明

    • code:验证码内容
    • targets:接收短信的手机号
    • 使用targets参数会覆盖模板配置的手机号
  2. 最佳实践

    • 选择合适的短信模板
    • 验证手机号格式
    • 管理验证码有效期
    • 添加错误处理
    • 确保账户余额充足

感谢开发者

建议推广贴附加“产品推广”信息 https://ruby-china.org/topics/node69

需要 登录 后方可回复, 如果你还没有账号请 注册新账号