我想添加一种功能,可以通过电子邮件和SMS向人们发送提醒,以提醒他们在我正在构建的Web应用程序中注册的特定事件。电子邮件部分并不困难,但是我想知道在哪里可以找到发送SMS消息的好方法。人们将能够使用确认或取消消息类型进行回复。

有人实现了这样的东西吗?没有人知道那里有好的工具吗?

编辑:我意识到这只是一种“为这只猫蒙皮的方法”,因此我将其更改为社区Wiki。 br />

评论

+1,我知道十二种方法的SMS API提供程序,但是如果收到答复,则没有一种可以发回。

我对此问题添加了赏金,以期改善对此问题的答案。

杰西加文(Jessegavin),如果您想选择最佳答案,请随时-悬赏计划明天结束!

#1 楼

我相信新的行业领导者是Twilio,他们拥有出色的API和合理的价格。一些值得考虑的替代方案是Tropo,Plivo和Nexmo。

您还可以使用诸如ClickATell之类的SMS网关。建议,其中一些可能已过时。

评论


我也使用CLickATell,我对他们的服务感到满意。

– Alex
2010年7月27日在11:30

我要补充一下Plivo付费服务,它非常好。我们曾经使用过Twilio,它也很出色,但价格更高。

–坦率
2014年8月13日在3:11

#2 楼

我有一个朋友设法通过电子邮件实施了此操作。我相信他做到了与本网站建议的完全相同的方式:


T-Mobile:phonenumber@tmomail.net
Virgin Mobile:phonenumber@vmobl.com
Cingular:phonenumber@cingularme.com
AT&T:phonenumber@txt.att.net
Sprint:phonenumber@messaging.sprintpcs.com
Verizon:phonenumber@vtext.com
下一个: phonenumber@messaging.nextel.com

其中phonenumber =您的10位数电话号码


评论


我刚刚进行了测试,运营商(AT&T)将发件人:[发件人名称],主题:[主题行],味精:[消息内容]添加到了短信的开头。 -因此(至少)有21个字符被此方法用尽。我认为(至少对我而言)这对于大多数面向公众的Web应用程序是不可接受的。

– jessegavin
10年7月12日在15:17

@artlung en.wikipedia.org/wiki/List_of_carriers_providing_SMS_transitis一个非常全面的列表。

– Yahel
10 Jul 23 '14:21

您的意思是en.wikipedia.org/wiki/List_of_SMS_gateways,但谢谢!

– artlung
2010年7月23日的15:00

在我的国家(阿根廷),您必须支付通过电子邮件收到的短信(您的客户可能不喜欢)

–爱德华多·莫尔蒂尼(Eduardo Molteni)
2010年7月23日在16:58

您如何确定承运人是谁?

–亚当
10年7月23日在19:23

#3 楼

我一直在用Twilio发出声音,给我留下了深刻的印象。我确信他们的SMS系统没有太大不同。这样一来,您就可以在不知道要发送至的电子邮件地址的情况下将其发送给任何运营商(因为我注意到它们会随着时间的推移而变化)。

评论


所以您正在使用他们的API?您如何使用它?

– artlung
2010年7月21日在21:42

我正在使用他们的语音API来通过PHP脚本触发呼叫。我正在使用它拨打电话,并使用它进行语音转短信,然后接受用户的回复。

–达里尔·海因(Darryl Hein)
2010年7月23日14:26

#4 楼

这仅用于发送,但是我已经使用Penny SMS进行了一个项目,并祝它好运。如果您碰巧正在使用Ruby,请查看penny_sms_muncher gem。

#5 楼

我过去曾考虑过的其他两个选项:

Skype API
使用新的Skype API发送和接收SMS。国家(如果您想接收SMS)

将电话插入服务器
如果您居住在SMS网关公司收取大量费用的国家(如阿根廷),则可能会更便宜购买电话并将其插入服务器(当然,这取决于您的托管环境)。然后,您可以使用SMSToolkit之类的软件与手机进行交互。

#6 楼

我建议您研究一下http://www.world-text.com/提供的两种方式的api。

#7 楼

我已经使用Vidicom UK作为SMS提供程序编写了两种方式的SMS系统(不确定它们是否仍在运行)。基本上,它们具有基于HTTP的API,您可以在其中发送和接收SMS消息。它太复杂了,无法详细解释,但是从本质上讲,我有两个数据库表,一个用于从网关接收的传入消息,另一个用于排队并发送到网关的传出消息。

然后,我基本上必须解析传入的消息,以查看它们是否包含诸如CANCEL或STOP之类的关键字,然后相应地处理该消息。不幸的是,您收到很多垃圾邮件-您会惊讶地发现有多少人将SMS邮件发送到错误的号码-因此您必须回复说“无法理解的邮件”等。

#8 楼

如果您需要负担得起的批量SMS提供商,可以使用www.SourceSMS.com-开发人员API-它们提供国际覆盖,并且您可以轻松下载脚本并将其集成到您的网站中。

#9 楼

另一种选择是使用PHP的邮件功能和运营商的电子邮件服务器列表,如下所示:

在PHP文件上创建HTML表单,

<select name="carrier" style="width: 130px" >
<option selected="" value="1">Verizon Wireless</option>
<option value="2">Alltel</option>
<option value="3">Boost Mobile</option>
<option value="4">Cingular</option>
<option value="5">Nextel</option>
<option value="6">Sprint</option>
<option value="7">T-Mobile</option>
<option value="8">Virgin Mobile</option>
<option value="9">AT&T</option>
</select>


然后设置邮件的发送位置:

if ($carrier == "1") {
    $email = "$to@vtext.com";
} elseif ($carrier == "2") {
    $email = "$to@message.alltel.com";
} elseif ($carrier == "3") {
    $email = "$to@myboostmobile.com";
} elseif ($carrier == "4") {
    $email = "$to@cingularme.com";
} elseif ($carrier == "5") {
    $email = "$to@messaging.nextel.com";
} elseif ($carrier == "6") {
    $email = "$to@messaging.sprintpcs.com";
} elseif ($carrier == "7") {
    $email = "$to@tmomail.net";
} elseif ($carrier == "8") {
    $email = "$to@vmobl.com";
} elseif ($carrier == "9") {
    $email = "$to@txt.att.net";
}


发送邮件:(需要定义$ email,$ subject,$ msg,$ mailfrom并以正确的格式建议还清理输入内容)。

if (mail($email, $subject, $msg, $mailfrom)) {
    echo "<h4>Your Text Was Successfully Sent.</h4>";
    echo "<br />";
    if ($backurl == "") {
        echo "<a href='javascript:history.back(1);'>Back</a>";
    } else {
        echo "<a href='" . $backurl . "'>Back</a>";
    }
    echo "</body></html>";
} else {
    echo "<h4><b>Error Sending Message</b></h4><br>Can't send txt to $to. <br> Contact the site Administrator.";
}


确保PHP在php.ini中具有有效的邮件设置。如有任何疑问,请问。

#10 楼

我不确定您是否可以通过回复执行任何操作,已经使用一些API来实现Google语音的文本功能。

http://code.google.com/p / pygooglevoice /

http://code.google.com/p/google-voice-java/

#11 楼

有许多生产者和服务提供商。我知道Ozeki SMS网关。如果您想使用自己的gsm调制解调器或SMPP / UCP / CMD或其他提供商提供内部解决方案,则以下URL可以为您提供帮助。当您做出决定时,第一个问题是:您要发送或接收多少条SMS?

带有示例的HTTP SMS API。

用于ASP / ASP.NET的SMS API PHP的开发人员和示例有关如何设置SMS功能页面的开发人员可以为您提供有用的信息。