在最近的一个项目中,我被要求提出一种解决方案,以在客户的会员网站上以高级功能发送短信。 这不是我以前做过的事情,但是我认为我会将收集到的所有信息汇总到一个简单的教程中,以供那些希望这样做的人参考。
免费选项–电子邮件
如果您还不知道,实际上可以通过电子邮件将短信发送给大多数手机运营商。 例如,我是AT&T客户。 要给自己发送一条不带电话的短信,我可以打开gmail,然后发送电子邮件至:与其他任何邮件一样,我将收到该短信。
就实际代码而言,将其应用于PHP很容易。 邮件功能可以很好地解决问题。 如果您有方便的号码,并且知道该号码正在使用的运营商,则可以在此处查找手机运营商。 要向自己发送消息,操作非常简单:
$ number =“ 999-999-9999”; $ carrier =“ @ txt.att.net”; $ message =“这是一个文本”; $ sent = mail(“ $ carrier”,'Test',$ message); 回声$发送? “邮件已发送”:“邮件未发送”; // mail(电子邮件地址,主题,正文); //主题不是必需的,如果需要可以保留为空白
但是,这可能会造成困境。 它要求您同时知道号码和手机运营商。 借助号码可携带性,手机运营商可以更改,除非用户通知您此信息,否则您将无法知道他们的运营商已更改。 这个选择对我们来说并不可行,因为无论他们更换承运人还是任何情况,我们都需要它完美地工作。 如果我们有电话号码,那就是我们需要的所有信息。 要求用户维护比最新信息更多的信息,要求太多。
如果我只是想为自己构建某种通知服务,我会发现这是一种发送短信的有用方法。 例如,如果我的日常cron脚本之一失败了,则遵循这些原则。 对于只有少数几个用户的任何解决方案,这都不是可扩展的可靠解决方案。
付费选项– SMS网关
那里有许多SMS网关,具有不同的定价点和API。 SMS网关不是免费的,但是它们提供了一种更安全,更受信任的方式来完成工作。 我记得大约一年前对这个主题进行过一些研究,而Twilio这个名字一直停留在此。 他们是我结束使用的对象,下面是一个快速简单的教程。 每条短信收费1美分,虽然不是最便宜的,但对于我们要实现的目标来说却非常合理。
如何使用Twilio发送短信
您首先需要与他们建立一个帐户,所以请注册。 您将获得一个用户ID和身份验证令牌,可以将其插入下面的相应变量中。 接下来,从此处下载官方的Twilio PHP库。
//包括官方的Twilio PHP库,包括“ Services / Twilio.php”; $ accountid =“ #######”; $ token =“ #######”; //声明twilio服务类的新实例$ client = new Services_Twilio($ AccountSid,$ AuthToken); $ mynumber =“ ##########”; $ to =“ ###########”; $ body =“这是一条短信”; $ client->帐户-> sms_messages-> create($ from,$ to,$ body); //瞧! 讯息已发送
对于任何规模的扩展,我建议使用Twilio之类的网关。 您不必担心跟踪载体,以我的经验,它们非常可靠。 任何反馈或建议,请在下面的评论中告诉我。