如何处理 AWS SES SesClient sendEmail() 方法的结果



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 表中存储/更新传输状态以供以后的查询操作。

相关内容

最新更新