你可以使用Twilio的超级网络快速购买一个电话号码,然后用这个电话号码来发送和接收短信。然而,并不是所有的应用都需要双向的信息传递。更重要的是,在很多用例中,单向信息传递更适合,例如:通知、警报和验证。对于这类场景,你应该考虑使用字母数字发送者ID。
在本教程中,你将学习如何用C#、.NET和Twilio可编程短信从字母数字发送者ID发送短信;但首先...
什么是字母数字发送者ID
一个字母数字发件人ID(或阿尔法发件人)让你从一个由一组字母数字字符组成的发件人ID发送短信,而不是从一个电话号码发送。
使用Alpha Sender的最大好处是,你可以使用一个比电话号码更容易被用户识别的ID。下面的例子显示了Alpha Sender(AUTHMSG)的外观,而不是标准号码。
关于Alpha Sender,有几件事你应该知道:
- ID最多可包含11个字符,由大、小写字母(A-Z)、数字(0-9)和空格组成。
- 一个Alpha Sender可以在许多国家使用,而不需要为每个国家设置专门的电话号码--但并非所有国家都支持Alpha Sender,有些国家需要预先注册。
- 收件人不能回应从Alpha Sender发出的短信,这使得Alpha Sender和收件人之间的对话是单向的。
关于其他好处、限制和指导,请阅读关于Twilio可编程短信的字母数字发送器ID的支持文章。
在Twilio中配置一个字母数字发送者ID
从字母数字发送器发送短信的推荐方法是在Twilio中使用一个消息服务。要创建一个信息服务,请登录Twilio控制台,点击左侧导航菜单中的探索产品。在探索产品页面,找到并点击消息服务产品。然后,在左侧的导航菜单中,点击Messaging 子菜单下的Services。在信息服务页面,点击创建信息服务,这将引导你进入一个多步骤的向导。
在第1步,在信息传递服务的友好名称中输入一个有意义的名称,然后点击创建信息传递服务。
在第2步,在发送者类型下拉菜单中选择**"Alpha发送者**"选项,并点击继续。接下来,在阿尔法发件人ID字段中输入你想要的ID。这将是显示给收件人的ID,而不是一个电话号码。
点击添加阿尔法发件人,然后点击"第3步:设置整合"。
第3步让你配置如何处理传入的信息。阿尔法发件人不能接收信息,所以你可以忽略这一步,转到**"第4步:添加合规信息**"。
在第4步,如果你的使用情况需要,请按照描述的步骤添加合规信息。
最后,单击 "完成消息服务设置"。
你会被提示从控制台进行测试;你也可以通过浏览控制台的菜单来达到这个目的。信息传递 > 尝试一下 > 发送短信。
你可能会看到一个警告信息,说没有为这个消息服务配置电话号码,你可以安全地忽略它。
会有一个cURL命令,你可以复制/粘贴到你的终端。如果你使用测试界面或cURL命令向你的电话号码发送短信,你应该会收到来自你的Alpha Sender ID的短信。注意,你不能回复。
获取你的Twilio配置
你需要从Twilio获得一些配置元素,以便从C#中发送短信。回到Twilio控制台,点击左侧导航菜单中的信息服务下的属性链接,然后记下你的信息服务SID。你以后会需要它。
然后,点击左上角的账户链接,回到Twilio控制台的开始页面,注意位于页面左下方的Twilio账户SID和授权令牌。
你需要把这个Twilio配置配置成环境变量,因为项目会需要它们。打开你喜欢的shell,用以下命令设置这些环境变量。
如果你使用的是Bash或类似的shell:
export ToPhoneNumber=[RECIPIENT_PHONE_NUMBER]
export TwilioAccountSid=[TWILIO_ACCOUNT_SID]
export TwilioAuthToken=[TWILIO_AUTH_TOKEN]
export TwilioMessagingServiceSid=[TWILIO_MESSAGING_SERVICE_SID]
如果你使用的是PowerShell:
$Env:ToPhoneNumber = "[RECIPIENT_PHONE_NUMBER]"
$Env:TwilioAccountSid = "[TWILIO_ACCOUNT_SID]"
$Env:TwilioAuthToken = "[TWILIO_AUTH_TOKEN]"
$Env:TwilioMessagingServiceSid = "[TWILIO_MESSAGING_SERVICE_SID]"
如果你使用的是CMD:
set "ToPhoneNumber=[RECIPIENT_PHONE_NUMBER]"
set "TwilioAccountSid=[TWILIO_ACCOUNT_SID]"
set "TwilioAuthToken=[TWILIO_AUTH_TOKEN]"
set "TwilioMessagingServiceSid=[TWILIO_MESSAGING_SERVICE_SID]"
在每种情况下:
- 用你想发短信的电话号码替换
[RECIPIENT_PHONE_NUMBER]。这个电话号码必须来自一个支持字母数字发件人ID的国家。如果你要给另一个国家的号码发短信,请确保在信息地理权限中启用该国家。 - 用你之前注意到的账户SID、授权令牌和短信服务SID替换
[TWILIO_ACCOUNT_SID],[TWILIO_AUTH_TOKEN], 和[TWILIO_MESSAGING_SERVICE_SID]。
用C#和.NET从字母数字发送者ID发送短信
配置完成后,是时候写一些C#代码了!通过运行以下命令,使用.NET CLI创建一个新的控制台项目:
dotnet new console -o SendAlphaSms
这将在一个名为SendAlphaSms的新文件夹中创建一个新的控制台项目。通过运行以下命令导航到SendAlphaSms文件夹中:
cd SendAlphaSms
在.NET中开始使用Twilio的最好方法是添加Twilio SDK for C# and .NET。使用.NET CLI添加Twilio NuGet包:
dotnet add package Twilio
在你喜欢的.NET编辑器中打开该项目,并打开Program.cs文件。然后,用下面的内容替换现有的代码:
using Twilio;
using Twilio.Rest.Api.V2010.Account;
using Twilio.Types;
var toPhoneNumber = Environment.GetEnvironmentVariable("ToPhoneNumber");
var twilioAccountSid = Environment.GetEnvironmentVariable("TwilioAccountSid");
var twilioAuthToken = Environment.GetEnvironmentVariable("TwilioAuthToken");
var twilioMessagingServiceSid = Environment.GetEnvironmentVariable("TwilioMessagingServiceSid");
// authenticate with Twilio
TwilioClient.Init(twilioAccountSid, twilioAuthToken);
// send SMS using a Messaging Service
MessageResource.Create(
to: new PhoneNumber(toPhoneNumber),
messagingServiceSid: twilioMessagingServiceSid,
body: "Hello from your Alpha sender 👏"
);
该代码从环境变量中抓取配置,然后与Twilio进行认证,最后使用你的信息服务发送短信,这将使用你的Alpha Sender。
通过使用.NET CLI运行应用程序来尝试:
dotnet run
如果你输入了你的电话号码,你现在就会收到一条来自你的Alpha Sender的文本信息干得好 🎉
接下来的步骤
恭喜你学会了如何用.NET和C#从Alpha Sender发送短信!如果你遇到任何问题,你可以参考GitHub上本教程的源代码,或者你可以在GitHub资源库上提交一个问题。除了上述示例代码外,该源代码还包含了一个从Alpha发送器发送短信的示例,而没有信息服务。