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

Twilio短信显示为likely-SCAM,自定义名称不显示问题求助

问题分析与解决方案

核心问题原因

  • FriendlyName≠短信显示名称:你代码里设置的friendlyName是Twilio控制台内的号码备注,完全不是接收方短信里显示的发件人名称。短信的自定义发件人名称需要用Twilio的Alphanumeric Sender ID,和FriendlyName无关。
  • "likely-SCAM"标记诱因:新创建/刚启用的Twilio陌生号码,很容易被运营商或手机安全软件标记为可疑;另外频繁发送雷同内容、短时间批量发送短信,也会触发标记机制,这和你设置自定义名称的操作无关。

修复步骤

1. 正确设置自定义发件人名称

要让接收方看到"myApp",需使用Alphanumeric Sender ID替换号码作为from参数(注意:该功能仅支持部分国家/地区,且无法用于接收回复):

const sentMessage = await client.messages.create({
  body: message,
  from: 'myApp', // 直接填入自定义名称,而非号码
  to: 'RECIPIENT_PHONE_NUMBER',
});

如果业务需要接收回复,必须使用Twilio号码发送,此时无法显示自定义名称,需重点解决标记问题。

2. 解除"likely-SCAM"标记

  • 申请号码白名单:登录Twilio控制台,提交号码的具体使用场景说明,申请解除平台标记。
  • 规范短信内容:开头明确标注发送方身份,比如"【myApp】你的验证码为XXX",避免使用敏感词汇。
  • 逐步测试发送:先给少量测试号码发送,积累正常发送记录,避免短时间批量发送触发风控。

3. 优化号码掩码逻辑(可选)

你当前代码每次发送都创建新Twilio号码,既浪费资源,还会因频繁新增陌生号码加剧标记风险。建议提前采购一批号码复用,或使用Twilio Proxy服务实现号码掩码,而非重复创建新号码。

修正后的完整代码(使用Alphanumeric Sender ID)

// 初始化Twilio客户端
const accountSid = 'YOUR_TWILIO_ACCOUNT_SID';
const authToken = 'YOUR_TWILIO_AUTH_TOKEN';
const client = twilio(accountSid, authToken);

async function sendMessageWithCustomSender(message) {
  try {
    // 使用自定义名称发送短信
    const sentMessage = await client.messages.create({
      body: message,
      from: 'myApp',
      to: 'RECIPIENT_PHONE_NUMBER',
    });

    return sentMessage;
  } catch (error) {
    console.error('发送失败:', error);
    throw error;
  }
}

const messageToSend = 'Hello, this is a message from myApp!';

sendMessageWithCustomSender(messageToSend)
  .then((sentMessage) => {
    console.log('短信SID:', sentMessage.sid);
  })
  .catch((error) => {
    console.error('发送失败:', error);
  });

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 01:04:58