You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Laravel+Twilio发送含链接短信失败求助

问题:Laravel 集成 Twilio 发送含链接短信无法送达

用户代码截图:
code

求助内容:使用PHP Laravel框架通过Twilio发送包含链接的短信时,短信无法送达,请求解决。

说明:

  • Twilio账户为付费账户
  • 使用Laravel框架
  • 使用的包:composer require twilio/sdk

排查及解决步骤

  1. 核对Twilio配置信息
    确认.env文件中参数准确无误:
TWILIO_SID=你的账户SID
TWILIO_AUTH_TOKEN=你的认证令牌
TWILIO_FROM_NUMBER=你的Twilio号码(需带国家码,如+1xxxxxx)

同时确保config/services.php中已正确配置:

'twilio' => [
    'sid' => env('TWILIO_SID'),
    'auth_token' => env('TWILIO_AUTH_TOKEN'),
    'from' => env('TWILIO_FROM_NUMBER'),
],
  1. 检查短信内容合规性
  • 链接必须是完整的HTTPS/HTTP地址,避免使用未备案短链(易被运营商拦截)
  • 规避敏感词汇,防止触发Twilio或运营商的垃圾短信检测机制
  • 控制内容长度,单条短信超160字符会自动拆分,确保拆分后内容仍可正常解析
  1. 测试基础短信发送
    先发送纯文本短信验证集成是否正常:
use Twilio\Rest\Client;

$sid = config('services.twilio.sid');
$token = config('services.twilio.auth_token');
$twilio = new Client($sid, $token);

$message = $twilio->messages
    ->create(
        '+接收方号码', // 目标号码需带国家码
        [
            'from' => config('services.twilio.from'),
            'body' => '测试短信内容'
        ]
    );

dd($message->sid); // 查看返回的消息SID,确认是否提交成功

若纯文本短信能发送,说明问题出在含链接的内容;若仍失败,检查目标号码是否已验证(付费账户未验证号码可能无法接收)、账户权限是否正常。

  1. 查看Twilio后台日志
    登录Twilio控制台,进入「Monitor」->「Logs」->「Messages」,查看失败短信的错误码:
  • 30003:运营商拦截,需调整内容或使用官方短链
  • 21614:目标号码无效,核对号码格式
  • 21606:内容违规,修改短信话术
  1. 优化链接展示方式
    若链接被拦截,可使用Twilio官方短链服务,或把链接放在短信末尾、增加前缀说明(如「点击查看详情:https://xxx」)降低被拦截概率

内容的提问来源于stack exchange,提问作者Hazem Ayad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 10:43:13