保持Twilio失败后发送短信?

时间:2017-08-07 10:06:51

标签: php twilio

所以我使用Twilio API发送短信。

我从我的数据库中得到了usr names和nr,我放入了PHP数组 然后我用foreach循环发送短信:

foreach ($usrs as $number => $name) {

    $sms = $client->account->messages->create($number,
        array(
            'from' => "xxxxxxxxxxxx", 
            'body' => "Hi $name. $text"
        )
    );

    // Display a confirmation message on the screen
    echo "Sent message to $name <br>";
}

此代码是自定义的。
它反映了成功。

但如果某个数字无效,则该过程将停止,并显示错误消息,如:

Sent message to David
Sent message to Elsa
Sent message to Adam
Failure notice: the number is not a valid phone number...

这里循环中断..

我想要的是打印失败消息的循环,但仍然在失败后发送的数组中发送一个...而不会打破循环。

错误消息必须来自API dist文件?
因为我无法在我的自定义Php文件中进行任何错误处理..

1 个答案:

答案 0 :(得分:1)

根据评论中的建议,您需要使用try{}catch{}

以下是一个例子:

    // Step 1: set our AccountSid and AuthToken from https://twilio.com/console
    $AccountSid = "XXX";
    $AuthToken = "XXX";

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

foreach ($usrs as $number => $name) {
    try {
        $sms = $client->account->messages->create(

            // the number we are sending to - Any phone number
            $number,

            array(
               // Step 2: Change the 'From' number below to be a valid Twilio number
                // that you've purchased
                'from' => "+XXXXXXXXXXX",

                // the sms body
                'body' => $sms
            )
        );

        // Display a confirmation message on the screen
        echo "Sent message to $name";

    } catch (TwilioException $e) {
        die( $e->getCode() . ' : ' . $e->getMessage() );
    }

}