使用PHP调用短信接口发送验证码短信教程
PHP对接验证码短信接口DEMO示例


短信验证码是各类网站和应用里最常见的验证手段,用户注册、登录、找回密码时基本都会用到。这篇文章介绍如何用 PHP 调用短信接口,实现单条短信的发送。
接口地址与调用方式
本次使用的接口地址为 https://api.3yit.com/api/send-sms-single,支持 POST 请求,返回格式为 JSON。调用时需传入 sp_id、mobile、content 等参数,身份验证在 signature(签名)和 password(密码)之间二选一。
获取接口参数
登录智慧云信官网,选择对应的产品(如【验证码】),在上方选项卡中点击【开发者】→【HTTP开发文档】,就能看到具体的 API 方法名称,以及各参数的 key 和对应值,通常包括 sp_id、mobile、content、password 等。各参数含义如下:
sp_id:产品编号,全局唯一,一般由 6 位数字组成。mobile:接收短信的手机号码。content:短信内容,包含签名和正文。例如“【智慧云信】您的验证码是456790,请妥善保管”,其中【智慧云信】是签名,需在签名报备中申请;后面的提示语是短信模板,需在模板报备中申请,审核通过后才能发送。password:用 SP_ID 密码经 MD5 加密后生成的接口密码(非登录密码),由 32 位随机字符串组成。
PHP 代码实现
下面是用 PHP 调用该接口发送单条短信的示例代码:
<?php
// 设置接口地址和参数
$url = 'https://api.3yit.com/api/send-sms-single';
$params = array(
'sp_id' => '5xxxxx', // 替换为实际的产品sp_id
'mobile' => '176xxxxxxxx', // 替换为实际的手机号,支持md5和aes加密
'content' => '【签名】验证码123', // 替换为实际的短信内容,支持aes加密
// 'signature' => 'a92569901189fxxxxxxxx957c096c432e2d47635', // 如果使用签名验证,则取消注释并替换为实际的签名
// 'password' => md5('your_password_here'), // 如果使用密码验证,则取消注释并替换为实际密码的md5值
'ext' => '123', // 可选参数,根据需求填写
);
// 发送POST请求
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));
$output = curl_exec($ch);
curl_close($ch);
// 处理返回结果
$result = json_decode($output, true);
if ($result['code'] == 0) {
echo '短信发送成功,消息ID:' . $result['msg_id'];
} else {
echo '短信发送失败,错误信息:' . $result['msg'];
// 如果需要,可以根据$result['data']获取更详细的错误信息
}
?>
注意事项
- 实际使用时,把
sp_id、mobile、content等参数替换成自己的值。 - 选择签名验证时,签名算法要与接口文档一致,把签名值填到
$params数组的signature键上;选择密码验证时,把密码做 MD5 加密后填到password键上。 - 手机号和短信内容支持 md5 和 aes 加密,具体按接口文档要求处理。
- 处理返回结果时,根据
code判断短信是否发送成功,需要时读取msg和data字段。
总结
用 PHP 调这个接口发短信,步骤不复杂:按文档把请求地址、参数、请求头设置好,发一条 POST 请求,再处理返回结果就行。实际项目里按自己的业务场景调整即可。
其他语言教程:Java · ASP · ASP.NET(C#) · JSP · Node.js · Delphi · Go · Python · Ruby · Shell · VB · C++ · C。更多信息见短信API接入指南。
代码里的 API 地址、账号和密码替换成你自己的就能跑通。如果还没有账号,去智慧云信官网注册一个,注册就能免费测试,验证码、通知、营销短信都支持。
作者:智慧云信通信技术团队
技术审核:国际短信与号码检测产品组
最后更新:2026-08-13
适用范围:国际短信、国际验证码短信、国际语音筛单、空号检测、号码实时检测等出海通信与号码检测场景。
本文结合智慧云信平台产品能力、客户接入问题和通道运营经验整理。不同国家/地区的 Sender ID、模板审核、计费方式和合规要求可能变化,实际发送前建议以当前通道审核与项目沟通结果为准。






