1

我在这里指的是 .net SDK,但我相信类级别的概念都是相同的。

这是用于使用模板发送批量电子邮件(https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-personalized-email-api.html

https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/SimpleEmail/TSendBulkTemplatedEmailResponse.html

SendBulkTemplatedEmailResponse response = client.SendBulkTemplatedEmailAsync(sendBulkTemplatedEmailRequest).Result

SendBulkTemplatedEmailRequest有多个电子邮件地址,并SendBulkTemplatedEmailResponse返回每封电子邮件的单独状态List<BulkEmailDestinationStatus>https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/SimpleEmail/TBulkEmailDestinationStatus.html)。

每个BulkEmailDestinationStatus都有MessageIdStatus(一些预定义的常量)。但没有返回状态的电子邮件地址(显然有多个收件人,因此每个收件人都有单独的状态。)

话虽如此,如何找出从电子邮件地址到 MessageId 的映射,反之亦然?

我对 BulkEmailDestinationStatus 中没有任何关联的收件人电子邮件地址的 messageId 的用途感到困惑。我在这里错过了一些非常基本的东西吗?

4

1 回答 1

0

虽然我没有找到任何关于此的资源,但我会留下我收集的测试此功能的内容,以供其他可能发现此问题的人使用。

发送电子邮件的顺序(即 Destinations 属性中电子邮件的顺序)是返回的 messageId 的顺序。

因此,使用 docs json 示例:

{
  "Source":"Mary Major <mary.major@example.com>",
  "Template":"MyTemplate",
  "ConfigurationSetName": "ConfigSet",
  "Destinations":[
    {
      "Destination":{
        "ToAddresses":[
          "anaya.iyengar@example.com"
        ]
      },
      "ReplacementTemplateData":"{ \"name\":\"Anaya\", \"favoriteanimal\":\"angelfish\" }"
    },
    {
      "Destination":{ 
        "ToAddresses":[
          "liu.jie@example.com"
        ]
      },
      "ReplacementTemplateData":"{ \"name\":\"Liu\", \"favoriteanimal\":\"lion\" }"
    },
    {
      "Destination":{
        "ToAddresses":[
          "shirley.rodriguez@example.com"
        ]
      },
      "ReplacementTemplateData":"{ \"name\":\"Shirley\", \"favoriteanimal\":\"shark\" }"
    },
    {
      "Destination":{
        "ToAddresses":[
          "richard.roe@example.com"
        ]
      },
      "ReplacementTemplateData":"{}"
    }
  ],
  "DefaultTemplateData":"{ \"name\":\"friend\", \"favoriteanimal\":\"unknown\" }"
}

发送的对象将是 (SendBulkTemplatedEmailRequest) request具有以下列表的 a:

request.Destinations[0].ToAddresses = {"anaya.iyengar@example.com"}
request.Destinations[1].ToAddresses = {"liu.jie@example.com"}
request.Destinations[2].ToAddresses = {"shirley.rodriguez@example.com"}
request.Destinations[3].ToAddresses = {"richard.roe@example.com"}

并且(SendBulkTemplatedEmailResponse) response会有这个列表:

response.Status[0].MessageId = "0000000000000000-11111111-2222-3333-4444-111111111111-000000"
response.Status[1].MessageId = "0000000000000000-11111111-2222-3333-4444-222222222222-000000"
response.Status[2].MessageId = "0000000000000000-11111111-2222-3333-4444-333333333333-000000"
response.Status[3].MessageId = "0000000000000000-11111111-2222-3333-4444-444444444444-000000"

在哪里:

  • MessageId"0000000000000000-11111111-2222-3333-4444-111111111111-000000"是指发送到的电子邮件anaya.iyengar@example.com
  • MessageId "0000000000000000-11111111-2222-3333-4444-222222222222-000000" 是指发送到的电子邮件"liu.jie@example.com"

等等。

于 2021-09-27T18:30:49.720 回答