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

使用Twilio发送SMS遇到问题求助(巴西地区免费账户)

Twilio 巴西短信发送及Java代码问题解答

1. 美国Twilio号码能否向巴西本地号码发送SMS?

  • 免费账户的美国Twilio号码可以向巴西本地号码发送SMS,但需注意以下限制:
    • 免费账户仅能向已验证的号码发送短信,需先在Twilio控制台将目标巴西号码添加到「已验证号码」列表中
    • 巴西对国际短信有监管要求,免费账户只能发送测试/验证类内容,禁止营销类消息,且存在发送频率限制
    • 不需要使用同国家号码,但目标号码必须遵循E.164标准格式(以+55开头,后跟区号和本地号码,例如+55119XXXXXXXXX)

2. Java开发的配置要求

仅添加Twilio的Maven依赖即可,无需额外安装项,但要确保:

  • 使用官方最新稳定版依赖,避免版本兼容问题
  • ACCOUNT_SID和AUTH_TOKEN完全匹配Twilio控制台中的账户信息,无拼写错误

代码崩溃问题排查

你的代码存在明显错误,导致create()方法执行失败:

  1. 初始化参数错误:Twilio.init()仅需传入ACCOUNT_SID和AUTH_TOKEN,你多传了一个重复的ACCOUNT_SID,会导致初始化失败
  2. 号码参数为空:目标巴西号码和Twilio号码的参数值为空,需填充符合E.164标准的完整号码
  3. 缺少异常捕获:create()方法会抛出检查型异常,未捕获会直接崩溃,无法查看具体错误原因

修正后的代码示例

import com.twilio.Twilio;
import com.twilio.rest.api.v2010.account.Message;
import com.twilio.type.PhoneNumber;

public class TwilioSmsTest {
    // 替换为你的Twilio账户信息
    private static final String ACCOUNT_SID = "你的ACCOUNT_SID";
    private static final String AUTH_TOKEN = "你的AUTH_TOKEN";

    public static void main(String[] args) {
        Twilio.init(ACCOUNT_SID, AUTH_TOKEN);
        
        try {
            Message message = Message.creator(
                    new PhoneNumber("+55119XXXXXXXXX"), // 目标巴西号码
                    new PhoneNumber("你的美国Twilio号码(+1开头)"),
                    "HI TEST!"
            ).create();
            
            System.out.println(message.getSid());
        } catch (Exception e) {
            e.printStackTrace(); // 打印错误详情,便于排查问题
        }
    }
}

内容的提问来源于stack exchange,提问作者Israel S. Carlos

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 10:33:15