Short:
我与 Amazon AWS 的 SES-API sendEmail()
方法的结果有什么关系?
长:
我已经通过作曲家成功地在PHP项目中安装了"aws/aws-sdk-php": "^3.38"
。
我已经成功地通过公式发送电子邮件:
$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 本身的"状态",以发现电子邮件是否已成功传递?
谢谢!
我所做的是使用消息 ID 跟踪消息传递、退回和投诉,方法是配置 SNS 主题(SES>域> example.com>通知(,这些主题会触发 AWS Lambda 函数(SNS>主题>订阅(,进而在 DynamoDB 表中存储/更新传输状态以供以后的查询操作。