我有点问题,我创建了以下功能:
function sendQuedMessagesByDeviceAndDate($deviceId){
require_once 'php/classes/smsGateway.php';
$smsGateway = new SmsGateway(SMS_GATEWAY_EMAIL, SMS_GATEWAY_PASSWORD);
$result = $smsGateway->getQuedMessages($deviceId);
$arr = $result['response']['result'];
$data = array();
$options = [
'expires_at' => strtotime('+24 hours') // Cancel the message in 24 hours if the message is not yet sent
];
foreach($arr as $res){
if($res['status'] == 'queued' && $res['device_id'] == $deviceId && $res['queued_at'] > 1475452800 && $res['queued_at'] < 1475539200){
array_push($data, $res);
}
}
//$nrs = array();
foreach($data as $mes){
$smsGateway->sendMessageToNumber($mes['contact']['number'], $mes['message'], $deviceId, $options);
}
//return $data;
}
我错误地调用了该函数5-6次,如何告诉服务器从smsgateway停止发送消息,我找不到任何api调用来停止消息,并且来自他们网站的电子邮件是错误的,我无法向他们发送任何电子邮件,我也没有任何国际电话。
答案 0 :(得分:0)
我讨厌这样说,但是你被搞砸了。如果提供商没有提供清除队列的方法,则会发送它们。
下次,首先用echo语句替换代码的发送位,以便更仔细地进行测试。试想一下,如果你错误地创建了一个无限循环会发生什么......
答案 1 :(得分:0)
我发现如果删除设备,它还会删除该设备的排队消息