我想添加一种功能,可以通过电子邮件和SMS向人们发送提醒,以提醒他们在我正在构建的Web应用程序上注册的特定事件。电子邮件部分并不困难,但我想知道在哪里可以找到发送SMS消息的良好解决方案。
如果此解决方案允许与我的Web应用程序进行双向SMS通讯,使人们能够以CONFIRM或CANCEL类型的消息进行回复,那也将是一个加号。
有没有人实现这样的事情?有人知道那里有好的工具吗?
编辑:我意识到这更多是一种“为这只猫蒙皮的方法”类型的问题,因此我将其更改为社区Wiki。
我想添加一种功能,可以通过电子邮件和SMS向人们发送提醒,以提醒他们在我正在构建的Web应用程序上注册的特定事件。电子邮件部分并不困难,但我想知道在哪里可以找到发送SMS消息的良好解决方案。
如果此解决方案允许与我的Web应用程序进行双向SMS通讯,使人们能够以CONFIRM或CANCEL类型的消息进行回复,那也将是一个加号。
有没有人实现这样的事情?有人知道那里有好的工具吗?
编辑:我意识到这更多是一种“为这只猫蒙皮的方法”类型的问题,因此我将其更改为社区Wiki。
Answers:
由于最初建议的服务已经停产,因此我不得不编辑此答案几次。我相信新的行业领导者是Twilio,他们拥有出色的API和合理的价格。Tropo,Plivo和Nexmo是一些值得考虑的替代方案。
我使用IMified已有一段时间,做了类似的事情,并且发现它工作良好。它使您可以通过HTTP POST接收SMS(或Twitter和IM消息),并且Web服务器的响应将作为答复发送。他们还提供了可用于发起对话和发送消息的Web服务。
在寻找其他选项时,我遇到了Zeep Mobile
(注意:Zeep Mobile自2013年8月1日起将不再营业),它具有用于发送和接收SMS的API。它是免费的,并受广告支持,也可以收取一定费用。我没有尝试过,但是看起来很有趣。
您还可以使用ClickATell之类的SMS网关。
祝你好运!
我有一个朋友设法通过电子邮件实现了此目的。我相信他这样做完全是本网站推荐的方法:
T-Mobile:电话号码 @ tmomail.net
维珍移动电话:电话号码 @ vmobl.com
Cingular:电话号码 @ cingularme.com
AT&T:phonenumber@txt.att.net
Sprint:电话号码 @ messaging.sprintpcs.com
Verizon:电话号码 @ vtext.com
Nextel :电话号码 @ messaging.nextel.com其中phonenumber =您的10位数电话号码
我一直在使用Twilio的声音,我一直很深刻的印象。我确定他们的SMS系统没有太大不同。这样一来,您就可以在不知道要发送至的电子邮件地址的情况下将其发送给任何运营商(因为我注意到它们会随着时间的推移而变化)。
这仅用于发送,但是我使用Penny SMS进行了一个项目,并祝它好运。如果您恰巧使用Ruby,请查看penny_sms_muncher gem。
我过去考虑过的其他两个选项:
Skype API
使用新的Skype API发送和接收SMS。我想Twilio便宜一些,但是Skype在更多国家/地区都可以使用(如果您想接收SMS的话)
将电话插入服务器
如果您居住在SMS网关公司收取大量费用的国家(如阿根廷),则可能会发现购买电话并将其插入服务器便宜(当然,这取决于您的托管环境)。然后,您可以使用SMSToolkit之类的软件与手机进行交互。
我建议研究一下http://www.world-text.com/提供的两种方式的api 。
如果您想要负担得起的批量SMS提供商,可以使用www.SourceSMS.com-开发人员API-它们提供国际覆盖,并且您可以轻松下载脚本并将其集成到您的网站中。
另一个选择是使用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中具有有效的邮件设置。如果你有问题,就问吧。
我不确定您是否可以通过回复执行任何操作,已经使用一些API来实现Google语音的文本功能。
有许多生产者和服务提供商。我知道Ozeki SMS网关。如果您想使用自己的gsm调制解调器或SMPP / UCP / CMD或其他提供商提供内部解决方案,则以下URL可以为您提供帮助。当您决定时,第一个问题:您要发送或接收多少条SMS?
HTTP SMS API及其示例。
有关如何设置SMS功能页面的ASP / ASP.NET开发人员的SMS API和PHP开发人员的示例可以为您提供有用的信息。