2017-04-25 1 views
1

AWS SDK를 사용하여 PHP 사이트를 통해 SMS를 보내려고합니다. Sending SMS with Amazon AWS services PHP의 코드를 사용합니다.Amazon Web Services PHP SDK를 사용하는 SenderID

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" => "Transational", 
"Message" => "Sending SMS with PHP", 
"PhoneNumber" => "+12345678" 
); 

$result = $sns->publish($args); 
echo "<pre>"; 
var_dump($result); 
echo "</pre>"; 

이것은 작동하지 않습니다. 나는 많은 SenderIDs로 테스트했으며 모든 메시지는주의 사항에서 받았습니다. 그러나 AWS 콘솔에서 메시지를 보내면 올바른 SenderID와 함께 메시지가 수신됩니다. 그래서 나는 내 코드가 잘못되었다고 생각한다.

답변

3

해결책을 찾았습니다. args를 이렇게 설정하십시오. 그것은 작동합니다!

$args = array(
    'MessageAttributes' => [ 
     'AWS.SNS.SMS.SenderID' => [ 
       'DataType' => 'String', 
       'StringValue' => 'YourSenderName' 
     ] 
    ], 
    "SMSType" => "Transational", 
    "PhoneNumber" => "+144456789", 
    "Message" => "Hello World!" 
); 
+0

네, 효과가있었습니다. 정말 고맙습니다! – Thomas

+0

당신은 내 대답을 투표로 줄 수 있고 해결 된 것으로 설정할 수 있습니다. – Leonardo

+0

나는 이미 당신에게 업보트를주었습니다. 그러나 내 대리인이 너무 낮기 때문에 그것을 공개적으로 보여주지 않을 것입니다. 해결책으로 답변을 설정하는 것을 잊어 버렸지 만 지금은 해결했습니다. – Thomas

관련 문제