使用ASP.NET发送免费确认SMS消息

时间:2015-08-05 17:26:32

标签: c# asp.net twilio

我正在使用ASP.NET Web应用程序,我希望在使用SMS消息注册后确认用户帐户。我发现的唯一方法是使用twilio,我需要买一个号码!它将作为数字出现在“FROM”字段中,而不是SMS中的名称! 我发现的twilio代码是这样的:

 // Find your Account Sid and Auth Token at twilio.com/user/account 
        string AccountSid = "..";
        string AuthToken = "[AuthToken]";
        var twilio = new TwilioRestClient(AccountSid, AuthToken);

        var message = twilio.SendMessage("[From]", "[To]", null, null, null);
        Console.WriteLine(message.Sid);

我的问题:有没有办法免费发送确认SMS?我可以在邮件的“FROM”字段中选择名称吗?请帮忙吗?

3 个答案:

答案 0 :(得分:1)

您可以使用运营商的电子邮件短信地址免费发送短信(请查看http://www.emailtextmessages.com/了解要使用的格式)。它不是那么好,因为它要求用户选择他们的运营商,运营商可以随着时间的推移改变号码移植,但在你的情况下,因为它只是初步确认,运营商的变化不是一个问题。如果我没记错的话,在这种情况下,FROM将显示为您发送文本的电子邮件地址。

例如,假设电话号码是123-456-7890,您可以使用1234567890@vtext.com向Verizon客户发送短信。

为了获得免费解决方案,您可能需要做出一些牺牲,例如走这条路。

答案 1 :(得分:1)

Twilio开发者传道者在这里。

在这些免费信息的答案中有一些很好的建议,我也想从Twilio的角度回答。

您可以从Twilio发送短信,并提供您自己的不是数字的发件人ID。这适用于145 countries listed here。您将以完全相同的方式发送邮件,除非您将示例中的From号码替换为所需的发件人ID。

但是,发送短信会花费你(因为它需要我们付费)。此外,如果您需要向其中一个不支持字母数字发件人ID的国家/地区发送短信,例如美国,则您需要使用号码发送邮件。

让我知道这是否有帮助。

答案 2 :(得分:0)

大多数运营商允许通过SMTP发送短信。这里有一个不错的列表:http://martinfitzpatrick.name/list-of-email-to-sms-gateways/,谷歌是你的朋友。

您可以向用户询问他们的运营商(在下拉列表中)以及他们的电话号码,然后使用SmtpClient发送电子邮件。例如,如果您想在Verizon上向1234发送短信,则发送部分可能如下所示:

SmptClient smpt = new SmptClient(...);
...
if (carrier = "Verizon")
{
    smpt.Send("admin@mysite.com", phoneNumber + "@vtext.com", "Welcome to MySite.com!", "Your account is registered.");
}

显然你需要有一个有效的Smtp配置,你可能想要一个更优雅的解析载波的方法,但这是一般的想法。

但这并非完全免费 - 您确实需要一个电子邮件服务器。如果您发送过多邮件或太多用户抱怨您发送垃圾邮件(我认为付费服务会为您处理的事情),您也可能会遇到运营商的问题。