Twilio SMS与.NET多号码短信发送:ListView号码合并导致格式错误
问题原因与解决方案
核心错误
你这段代码的问题出在电话号码的数组构建逻辑上:
- 你已经正确从ListView中把每个号码存入了
List(Of String) - 但后续错误地用
String.Join(", ", List)将多个号码拼接成了单个带逗号的字符串 - 再通过
{Nums.ToString()}把这个长串包装成只有1个元素的数组,导致Twilio收到的是类似"xxxxxxxxxx, xxxxxxxxxx"的无效号码,自然触发格式错误
修正后的代码
Dim accountSid As String = ConfigurationManager.AppSettings("TWILIO_ACCOUNT_SID") Dim authToken As String = ConfigurationManager.AppSettings("TWILIO_AUTH_TOKEN") Dim list As List(Of String) = New List(Of String)() For Each currentItem In lbEmail1.Items list.Add(currentItem.Text) Next ' 直接将List转换为独立号码组成的数组,无需拼接 Dim MultiNums As String() = list.ToArray() For i As Integer = 0 To MultiNums.Length - 1 TwilioClient.Init(accountSid, authToken) Dim message = MessageResource.Create( body:="Sent thru an Array in VB.NET with Twilio!", from:=New Twilio.Types.PhoneNumber("+xxxxxxxxxx"), [to]:=New Twilio.Types.PhoneNumber(MultiNums(i)) ) Console.WriteLine(message.Sid) Next
关键改动说明
- 移除了错误的字符串拼接步骤,不需要用
String.Join合并号码 - 用
list.ToArray()直接将存储单个号码的List转为String数组,数组中每个元素都是独立的有效电话号码 - 修正了消息内容里的"C#"为"VB.NET",避免语言混淆
内容的提问来源于stack exchange,提问作者mlg74
相关产品推荐
相关产品推荐

