【问题标题】:Sending SMS from an ASP.NET website [closed]从 ASP.NET 网站发送 SMS [关闭]
【发布时间】:2011-07-24 23:38:43
【问题描述】:

有没有办法使用 Web API 从 ASP.NET 网站发送 SMS?我知道网络服务,但不知道如何从我的应用中调用这些服务。

【问题讨论】:

    标签: c# asp.net sms


    【解决方案1】:

    Web 服务是最好的方法。我在一个网站上使用 Twilio,它的设置和工作非常容易。可扩展性不是问题,而且您无需花费开发人员时间来构建自己的解决方案,这不仅可以弥补成本。

    Twilio:http://www.twilio.com/

    可用于 .NET 的 Twilio 库:https://www.twilio.com/docs/csharp/install

    来自 twilio-csharp 项目,这里是如何发送 SMS 的示例(我从 twilio-csharp 中获取了这个。只是重新发布它以显示它是多么容易)

    static void Main(string[] args)
    {
        TwilioRestClient client;
    
        // ACCOUNT_SID and ACCOUNT_TOKEN are from your Twilio account
        client = new TwilioRestClient(ACCOUNT_SID, ACCOUNT_TOKEN);
    
        var result = client.SendMessage(CALLER_ID, "PHONE NUMBER TO SEND TO", "The answer is 42");
        if (result.RestException != null) {
            Debug.Writeline(result.RestException.Message);
        }    
    }
    

    【讨论】:

    • 非常感谢,会检查一下。我还有一个疑问,要发送短信我必须托管网站吗?或者我可以使用 Visual Studio 本身发送它吗?
    • 它不需要是一个站点。您可以从任何类型的 .NET 程序集执行此操作。在 VS 中托管或运行的 ASP.NET 网站、控制台应用程序、Windows 服务等等。
    • 您可以在以下链接 envato codecanyon.net/item/click-to-call-and-message-with-aspnet/… 下载 Twilio 呼出电话和短信的完整代码
    【解决方案2】:

    我想我告诉你你很幸运有点晚了,但对于那些后来发现这篇文章的人,我制作了一个视频,展示如何使用你的 Twilio 帐户和 asp.net 发送短信:

    i walk you through sending a text message using twilio and asp.net c#

    如果您没有 10 分钟的时间观看视频,这里是代码:

    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    
    using System.Configuration;
    using Twilio;
    
    namespace TwilioSMSHowTo
    {
        public partial class _default : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
            }
    
            protected void SendMessage_OnClick(object sender, EventArgs e)
            {
                string ACCOUNT_SID = ConfigurationManager.AppSettings["ACCOUNT_SID"];
                string AUTH_TOKEN = ConfigurationManager.AppSettings["AUTH_TOKEN"];
    
                TwilioRestClient client = new TwilioRestClient(ACCOUNT_SID, AUTH_TOKEN);
    
                client.SendMessage("(502) 276-8990", ToNumber.Text, Message.Text);
            }
        }
    }
    

    要使此代码正常工作,您需要 nuGet Twilio API 并需要将 my configurationmanager.appsettings 内容替换为您的帐户 ID 和身份验证令牌。

    编码愉快!

    【讨论】:

    • 我可能会拨打那个号码,看看马克·哈根是否接听。
    • 我可能会!只是取决于我是否记得取消测试帐户上的号码。 :D
    【解决方案3】:

    与其使用 Twilio API,不如使用其他 SMS 服务提供商 Way2Sms.com,我认为以下代码会对您有所帮助:

    public void sendsms(object sender, EventArgs e)
    {
    
        if (Page.IsValid)
        {
            HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create("http://ubaid.tk/sms/sms.aspx?uid=" + yourmobilenumber + "&pwd=" + yourpassword + "&msg=" + body.Text + "&phone=" + recipientNo.Text + "&provider=way2sms");
            HttpWebResponse myResp = (HttpWebResponse)myReq.GetResponse();
            System.IO.StreamReader respStreamReader = new System.IO.StreamReader(myResp.GetResponseStream());
            string responseString = respStreamReader.ReadToEnd();
            respStreamReader.Close();
            myResp.Close();
    
        }
    }
    

    【讨论】:

    • 是否可以通过短信发送图片?
    • @SamCromer SMS 代表短消息服务,图片可以通过彩信、多媒体消息服务或电子邮件发送。好吧,这条评论已经过时了,您现在可能已经知道了,如果您知道,请忽略我的评论。
    • 仅对印度有效,我想发送给全世界兄弟
    • @Felype 您的评论是对互联网知识的贡献。即使 Sam Cromer 已经知道,也会有更多不知道的人来。 +1 谢谢!即使那种东西在堆栈上并不酷。
    猜你喜欢
    • 1970-01-01
    • 2010-12-28
    • 2010-10-07
    • 1970-01-01
    • 1970-01-01
    • 2013-10-22
    • 2012-03-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多