使用 Amazon Web Services PHP SDK 的发件人 ID
SenderID using Amazon Web Services PHP SDK
我正在尝试使用 AWS SDK 通过我的 PHP 网站发送短信。我使用 Sending SMS with Amazon AWS services PHP.
中的代码
require $_SERVER['DOCUMENT_ROOT'] . '/inc/aws/aws-autoloader.php';
error_reporting(E_ALL);
ini_set("display_errors", 1);
$params = array(
'credentials' => array(
'key' => 'abc',
'secret' => 'abc',
),
'region' => 'eu-west-1', // < your aws from SNS Topic region
'version' => 'latest'
);
$sns = new \Aws\Sns\SnsClient($params);
$args = array(
"SenderID" => "TestSender",
"SMSType" => "Transactional",
"Message" => "Sending SMS with PHP",
"PhoneNumber" => "+87654321"
);
$result = $sns->publish($args);
echo "<pre>";
var_dump($result);
echo "</pre>";
这是行不通的。我已经用很多不同的 SenderID 进行了测试,所有消息都是从 NOTICE 收到的。
但是,当我从 AWS 控制台发送消息时,收到的消息带有正确的 SenderID。所以我假设我的代码是错误的。
我找到了解决方案。以这种方式设置参数。有效!
$args = array(
'MessageAttributes' => [
'AWS.SNS.SMS.SenderID' => [
'DataType' => 'String',
'StringValue' => 'YourSenderName'
]
],
"SMSType" => "Transactional",
"PhoneNumber" => "+87654321",
"Message" => "Hello World!"
);
我正在尝试使用 AWS SDK 通过我的 PHP 网站发送短信。我使用 Sending SMS with Amazon AWS services PHP.
中的代码require $_SERVER['DOCUMENT_ROOT'] . '/inc/aws/aws-autoloader.php';
error_reporting(E_ALL);
ini_set("display_errors", 1);
$params = array(
'credentials' => array(
'key' => 'abc',
'secret' => 'abc',
),
'region' => 'eu-west-1', // < your aws from SNS Topic region
'version' => 'latest'
);
$sns = new \Aws\Sns\SnsClient($params);
$args = array(
"SenderID" => "TestSender",
"SMSType" => "Transactional",
"Message" => "Sending SMS with PHP",
"PhoneNumber" => "+87654321"
);
$result = $sns->publish($args);
echo "<pre>";
var_dump($result);
echo "</pre>";
这是行不通的。我已经用很多不同的 SenderID 进行了测试,所有消息都是从 NOTICE 收到的。 但是,当我从 AWS 控制台发送消息时,收到的消息带有正确的 SenderID。所以我假设我的代码是错误的。
我找到了解决方案。以这种方式设置参数。有效!
$args = array(
'MessageAttributes' => [
'AWS.SNS.SMS.SenderID' => [
'DataType' => 'String',
'StringValue' => 'YourSenderName'
]
],
"SMSType" => "Transactional",
"PhoneNumber" => "+87654321",
"Message" => "Hello World!"
);