我如何处理来自Amazon AWS的SES-API的sendEmail()
方法的结果?
我已经在PHP项目中成功安装了"aws/aws-sdk-php": "^3.38"
via composer。
我已成功发送有关公式的电子邮件:
$client = new SesClient( $sesParameters );
$result = $client->sendEmail( $emailSesArgs );
有效。
我收到的结果如下:
Result {#433 ▼
-data: array:2 [▼
"MessageId" => "0102015fd3c21fd2-98a104e2-0c3f-4078-90ed-0be3a12ae812-000000"
"@metadata" => array:4 [▼
"statusCode" => 200
"effectiveUri" => "https://email.eu-west-1.amazonaws.com"
"headers" => array:4 [▼
"x-amzn-requestid" => "e27b7805-cd11-11e7-9d57-cd9600d88c96"
"content-type" => "text/xml"
"content-length" => "326"
"date" => "Sun, 19 Nov 2017 10:10:35 GMT"
]
"transferStats" => array:1 [▼
"http" => array:1 [▼
0 => []
]
]
]
]
}
问题是......
200 OK
结果外,我应该如何处理此结果?MessageId
?200 OK
。可能这更像是一种“承认”,即发送电子邮件“请求”已经提交,而不是实际处理它。我是否可以使用结果通过API进一步读取deilvey本身的“状态”,以发现电子邮件是否已成功发送?谢谢!
答案 0 :(得分:1)
我所做的是通过配置触发AWS Lambda功能的SNS主题(SES>域> example.com>通知)来使用消息ID跟踪消息传递,退回和投诉(SNS>主题>订阅),它反过来在DynamoDB表中存储/更新传递状态,以便以后进行查询操作。