如何使用 PHP 程序发送短信(附示例)

使用 PHP 发送短信可以通过 SMS 网关服务完成。SMS 网关服务是一种允许使用包括 PHP 在内的各种编程语言通过 API(应用编程接口)发送短信的服务。目前有多种 SMS 网关服务,如 Twilio、Nexmo 和 Plivo,它们都提供发送 SMS 消息的 API。

使用 Twilio API 发送短信的 PHP 代码

下面是一个如何使用 Twilio API 在 PHP 中发送短信的示例:

<?php
require_once 'path/to/twilio-php/Services/Twilio.php';
$account_sid = 'your_account_sid';
$auth_token = 'your_auth_token';
$client = new Services_Twilio($account_sid, $auth_token);
$message = $client->account->sms_messages->create(
    '+1234567890', // From a valid Twilio number
    '+0987654321', // Text this number
    "Hello, this is a test SMS sent using the Twilio API in PHP."
);
echo "SMS sent successfully";
?>

您需要在 Twilio 注册一个账户,并获得账户 sid 和授权令牌,以便在上述代码中使用。此外,您还需要从 Twilio 购买一个电话号码来发送短信。然后,您可以将 +1234567890 替换为您的 Twilio 电话号码,将 +0987654321 替换为收件人的电话号码。

其他 SMS 网关也有类似的通过 API 发送短信的方法,您需要查看它们的文档,了解如何使用它们的 API 从 PHP 发送短信。

值得注意的是,通过 SMS 网关服务发送短信通常需要付费订阅,因此可能会产生额外的短信发送费用。

使用 Nexmo API 发送短信的 PHP 代码

下面是一个如何在 PHP 中使用 Nexmo API 发送短信的示例:

<?php
$url = 'https://rest.nexmo.com/sms/json?' . http_build_query([
    'api_key' => 'your_api_key',
    'api_secret' => 'your_api_secret',
    'to' => 'recipient_phone_number',
    'from' => 'your_nexmo_number',
    'text' => 'Hello, this is a test SMS sent using the Nexmo API in PHP.'
]);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
$response = json_decode($response);
if($response->messages[0]->status != 0) {
    echo "SMS sent successfully";
} else {
    echo "SMS sending failed";
}
?>

您需要在 Nexmo 注册一个账户,并获得 API 密钥和秘密,以便在上述代码中使用。此外,您还需要从 Nexmo 购买一个电话号码来发送短信。然后,你可以用收件人的电话号码替换 recipient_phone_number,用你的 Nexmo 电话号码替换 your_nexmo_number。

如你所见,这段代码使用curl库向Nexmo API端点发出POST请求,并提供发送短信所需的参数。重要的是,发送后要检查短信的状态,查看返回短信的 “status”。

值得注意的是,通过短信网关服务发送短信通常需要付费订阅,因此可能会产生额外的短信发送费用。

本条目发布于。属于软件分类,被贴了 标签。作者是

关于有个狸

2005年开始的一名站长,从事网站策划、运营,早期一批扎根阿里妈妈、Google Adsense的一员,目前司职前端与产品设计。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注