【问题标题】:Can't get Twilio to send SMS to international #s无法让 Twilio 向国际#s 发送短信
【发布时间】:2013-08-19 03:20:33
【问题描述】:

我一直在使用 Twilio 向应用程序的潜在用户发送 SMS 消息。我已经想出了如何向美国号码发送消息,但是向国际移动用户发送 SMS 被证明是比较棘手的。我在这里看看是否有人可以帮助我找出我做错了什么,并听取任何解决问题的方法的建议。我已经构建了一个简单的网页,其中包含国际代码的下拉菜单、手机号码的输入表单和将信息发送到 Twilio 服务器的按钮。代码如下所示:

<html>
<head><title>Text Me The Link!</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
 //Javascript
 $(function(){
$("#frm").submit(function(e){
e.preventDefault();
$.post("textMeLink.php", $("#frm").serialize(),
function(data){
if(data.sms_sent == 'OK'){
alert("Message Sent");
} else {
alert("Message Not Sent");
}
}, "json");
document.getElementById('frm').reset();
});
    });
   </script>
  </head>
  <body>

 <form id="frm" name="frm" method = "POST">
    <input type="reset" name="ajax" style="display:none"/>
        <h4>Text your phone a download link for our iPhone and Android apps</h4>
                    <select name="code">
                   <?php
                    include "callingCodesV0.php";
                    $countryAndCodes = getCountryDialCodes();
                    foreach($countryAndCodes as $key=>$value){
                        echo "<option value='$value'>$key($value)</option>\n";
                    }

                   ?>
                </select>
    <input type="phone" name="phone" placeholder="Enter Your Mobile Number"/>
    <button type="submit">Get Link</button>
    <div style="display: none; " class="error"/>
</form>

包含在正文中的表单内的 php 文件是一个简单的脚本,它采用一个包含所有调用代码的 json 文件,并创建一个简单的数组,其中国家代码作为键和拨号代码作为元素,所以它看起来像:

 CO(Colombia)=>"+57"

另一个 PHP(textMeLink.php) 文件用于处理电话号码以及与 Twilio 服务器的交互。 textMeLink.php 看起来像这样:

<?php 

require_once "C:\Users\Kevin\Marco Polo\\twilio-php-master\Services\Twilio.php";
$AccountSid = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
$AuthToken = "yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy";

$client = new Services_Twilio($AccountSid, $AuthToken);

$phone=$_POST['phone'];
$code=$_POST['code'];
$phoneAndCode = $code+$phone; 
echo "phoneAndCode";
$sms = $client->account->sms_messages->create(
    "+17327047999",

    $phoneAndCode,

    "Get our app now for iPhone: appstore.com/marcopolo\nGet our app now for Android: ....."
);
$sms_check="OK";
$return_json = '{"sms_sent":"' .$sms_check . '"}';

echo $return_json;
?>

我想强调定义变量 $phone 和 $code 的行。如您所见,我正在尝试连接这两个变量,以便我有一个带有相应区号的电话号码,我可以向其发送短信。然而,由于某种原因,连接不起作用,当我尝试向国际号码发送短信时,什么也没有发生。甚至 Twilio 日志也没有显示我尝试向其发送 SMS 的国际号码。我不确定错误是否在包含 html 代码的 php 文件中,或者错误是否在处理电话号码并处理 Twilio 的第二个 php 文件中。正如我上面所说,欢迎任何帮助、建议或指出错误。提前谢谢大家。 :)

【问题讨论】:

  • 您是否联系过 Twilio 以确保您启用了国际短信?
  • 如何检查它是否已启用?
  • 刚刚检查,大多数国家/地区都启用了全球短信。所以问题可能不在于 Twilio

标签: php html twilio


【解决方案1】:

在 PHP 中,您使用 . 运算符连接,而不是 + 运算符。您将这两个数字相加。

$phoneAndCode = $code+$phone; 

而不是连接:

$phoneAndCode = $code . $phone; 

【讨论】:

    【解决方案2】:

    我正在寻找类似的东西,真正的答案是 twilio 不支持拨打哥伦比亚的电话,只支持 2 个运营商(“TIGO,Claro”)的短信...如果我知道,我会发送支持电子邮件我会更新我的答案

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多