【问题标题】:Logging Amazon SES Message ID记录 Amazon SES 消息 ID
【发布时间】:2012-06-20 02:03:11
【问题描述】:

这可能是一个简单的问题,但我已经搜索和搜索,但找不到答案。

我想记录每封已发送电子邮件的消息 ID,以便更准确地处理退回邮件。

我正在使用 AWS PHP 开发工具包发送电子邮件。发送电子邮件后如何获取消息 ID?

【问题讨论】:

  • 我认为不可能,但是你可以手动设置message-id并在发送前存储
  • 找到了答案...我能够从使用 SES 发送电子邮件时收到的响应对象中检索 MessageID。 $response->body->SendEmailResult->MessageId
  • 如果您认为自己的答案是这里的最佳答案,请检查一下。

标签: php sdk amazon-web-services amazon-ses


【解决方案1】:

更新的答案: sendEmail 返回Guzzle\Service\Resource\Model

可以通过$response->get('MessageId')获取MessageId的值

更多信息:http://docs.aws.amazon.com/aws-sdk-php/guide/latest/feature-models.html

【讨论】:

  • 这是现在最好的答案,尤其是 SDK 3 版
【解决方案2】:

您可以将来自亚马逊的响应获取到一个变量中,然后解析该xml;

$res = $this->amazon_ses->send();
$xml = new SimpleXMLElement($res);
$email_id = (string) $xml->SendEmailResult[0]->MessageId;

这对我很有效

【讨论】:

    【解决方案3】:

    找到答案了……

    我能够从使用 SES 发送电子邮件时收到的响应对象中检索 MessageID。

    $response->body->SendEmailResult->MessageId

    【讨论】:

      【解决方案4】:

      Amazon SES 更改 Message-ID,见第一条评论

      【讨论】:

      • AWS 在您发送时更改 Message-Id。可以/将修改以下标头: Message-Id Date Return-Path Bounces-To 目前 Amazon SES 设置 Message-Id 以便能够将发送的电子邮件与退回和投诉等反馈相关联。使用 Message-Id 标头可确保 Amazon SES 可以识别原始发送请求,进而确保 Amazon SES 可以将您识别为原始发件人并将退回邮件转发给您。我想我可以添加我自己的 Message-Id,AWS 将在该消息 ID 上转发,但当 AWS 已经完成时,这似乎是一种浪费。
      • @MattClements 设置您自己的自定义标头,例如:MyHeaderId: ,我设置自己的标头以检测退回的邮件。
      • @MattClements 我有一个发送大量电子邮件的项目,下周将使用亚马逊。如果你找到解决方案,请更新你的帖子
      • 第一条评论的来源是forums.aws.amazon.com/message.jspa?messageID=262855。所有 SES 标头的列表以及那些被覆盖的标头:docs.aws.amazon.com/ses/latest/DeveloperGuide/…
      猜你喜欢
      • 2017-12-30
      • 2014-06-16
      • 1970-01-01
      • 2017-08-22
      • 2013-10-11
      • 1970-01-01
      • 1970-01-01
      • 2018-12-03
      • 2019-06-10
      相关资源
      最近更新 更多