6

首先,我们使用.net & sql server。

我有一个客户对在预定时间发送 SMS 消息的系统感兴趣。

除了通过电子邮件网关(如 5551234444@vtext.com)发送短信外,我从未做过类似的事情。但是,我不认为这是一个选项,因为我们的数据库将存储电话号码并忽略提供者。

感谢您对解决此问题的任何意见。

4

7 回答 7

3

最简单的方法是使用提供 API 的 SMS 网关。查看txtlocal

如果您使用诸如 txtlocal 之类的提供程序,您有 2 个选项 - 您可以将调度构建到您的系统中,或者您可以有一个批处理过程来发送短信信息以及您希望使用他们的 API 发送它的时间。

于 2009-06-10T16:19:47.550 回答
3

我过去使用过Clickatell

他们有一个 RESTfull API,这意味着作为 SMS 发送就像用消息和收件人的电话号码构建一个 URL 一样简单。

显然,它不是免费的,但它非常便宜。

于 2009-06-10T16:25:32.593 回答
1

好吧,您要么必须使用您提到的 SMS 网关,要么获得像这样的 PCI/USB GSM 调制解调器,它允许您直接从服务器发送文本。

于 2009-06-10T16:22:54.657 回答
1

看看这个链接。它提供了一些很棒的信息。话虽如此,IMO 使用网关更容易(正如已经建议的那样。)

于 2009-06-10T16:29:29.077 回答
1

有一个全球电子邮件到 SMS 网关,您可以使用格式 00+countrycode+mobilenumber@smssturen.com 即 00447811111111@smssturen.com,并将消息放在主题行中。

这里有更详细的描述:http ://sites.google.com/site/emailtosmsgateway/

担。

于 2009-10-28T20:52:44.000 回答
0

https://www.twilio.com/sms/pricing/gb

Twilio 也很便宜.. 与 clickatell 类似,它们也有可用的 API,但它们的价格似乎更便宜,为 0.04 美元(按 2015 年 6 月 22 日的今天汇率计算为 0.025 英镑),而 clickatell 的最低价格为 0.034 英镑。

于 2015-06-22T09:18:21.747 回答
-1

:)

这是我提出的一些似乎运作良好的东西:

    public static void SendSMS(string from, string number, string subject, string message, SmtpClient smtp)
    {
        long.Parse(number);

        List<string> domains = new List<string>(
            "{N}.iws@iwspcs.net,{N}@airtelap.com,{N}@airtelkk.com,{N}@alertas.personal.com.ar,{N}@bplmobile.com,{N}@cingularme.com,{N}@clarotorpedo.com.br,{N}@comcel.com.co,{N}@cwemail.com,{N}@email.uscc.net,{N}@emtelworld.net,{N}@fido.ca,{N}@gocbw.com,{N}@gsm.sunrise.ch,{N}@ideasclaro-ca.com,{N}@iwirelesshometext.com,{N}@message.alltel.com,{N}@messaging.nextel.com,{N}@messaging.sprintpcs.com,{N}@mmode.com,{N}@mms.att.net,{N}@mms.bouyguestelecom.fr,{N}@mms.mymeteor.ie,{N}@mobile.celloneusa.com,{N}@mobiletxt.ca,{N}@movistar.com.co,{N}@msg.acsalaska.com,{N}@msg.gci.net,{N}@msg.globalstarusa.com,{N}@msg.iridium.com,{N}@msg.telus.com,{N}@msgnextel.com.mx,{N}@myboostmobile.com,{N}@myhelio.com,{N}@mymetropcs.com,{N}@page.att.net,{N}@page.nextel.com,{N}@pcs.rogers.com,{N}@qwestmp.com,{N}@sms.co.za,{N}@sms.ctimovil.com.ar,{N}@sms.mobitel.lk,{N}@sms.mycricket.com,{N}@sms.sasktel.com,{N}@sms.tigo.com.co,{N}@sms.t-mobile.at,{N}@text.aql.com,{N}@text.mtsmobility.com,{N}@tmomail.net,{N}@tms.suncom.com,{N}@torpedoemail.com.br,{N}@txt.att.net,{N}@txt.bell.ca,{N}@txt.bellmobility.ca,{N}@utext.com,{N}@vmobile.ca,{N}@vmobl.com,{N}@voda.co.za,{N}@vtext.com,+48{N}@text.plusgsm.pl,297+{N}@mas.aw,977{N}@sms.spicenepal.com,{N}@orange.pl,TwoWay.11{N}@nextel.net.ar,{N}@mmst5.tracfone.com"
            .Replace("{N}", number).Split(','));

        MailMessage mail = new MailMessage();
        mail.From = new MailAddress(from);
        mail.Subject = subject;
        mail.Body = message;
        domains.ForEach(d => mail.Bcc.Add(d)); 

        smtp.Send(mail);
    }

域是从这里获得的。

更新

使用https://www.twilio.com/

于 2009-06-10T19:09:47.100 回答