我想在通过Amazon SES发送电子邮件时添加一些自定义标头。我想通过Amazon SNS在退回通知时获取这些标头。那么如何在发送电子邮件时传递自定义邮件ID?
现在我正在尝试使用
SendEmailRequest().putCustomRequestHeader(String, String);
但是我没有在Amazon SNS Notification Bounce JSON中获得此标头。 想法?
答案 0 :(得分:3)
两件事:
首先,您需要使用RawMessage添加自定义标头。您正在为SES API调用添加标头,而不是向消息本身添加标头。有关此主题,请参阅Amazon SES custom header List-Unsubscribe isn't working。
其他第二个问题是,亚马逊SES最近添加了能够在收到的通知中查看由于退回,投诉或取消订阅响应而导致的自定义标题。您必须为任何域明确启用此功能。
您可以在blog announcement post from June 14, 2016。
中详细了解它们亚马逊SES团队很高兴地宣布在SES通过Amazon SNS提供的退回,投诉和投递通知中添加了原始电子邮件标题。
我们努力使您的电子邮件发送过程更加轻松,今天我们正朝着这个方向迈出新的一步。提高您对SES反馈的可见度一直是我们关注的重点。从今天开始,您在电子邮件发送请求中传递给SES的标头可以在您的SNS通知中提供。继续阅读以获取一些常见问题的答案。
如何启用此功能?
使用Amazon SES控制台或API配置身份(电子邮件地址或域)和通知类型(退回,投诉或投放)的通知设置。
例如,要使用SES控制台包含身份退回通知的原始标头,您需要转到身份的通知设置,然后选择退回通知配置旁边的包含原始标头:
启用此功能后,通知将包含原始名称/值格式和JSON格式的标题,用于常用标题。
答案 1 :(得分:0)
可以使用标签:
new SendEmailRequest().withTags(new MessageTag().withName("environment").withValue(appService.getActiveProfile().toString()))
您在事件JSON中收到标签。
"tags": {
"environment": [
"qa"
],
...
}