Examples of event data that Amazon SES publishes to Amazon SNS
This section provides examples of the types of email sending event records that Amazon SES publishes to Amazon SNS.
Topics in this section:
Note
In the following examples where a tag
field is utilized, it is using
event publishing through a configuration set for which SES supports the
publishing of tags for all event types. If using feedback notifications directly on the
identity, SES does not publish tags. Read about adding tags when creating a configuration set or modifying a configuration
set.
Bounce record
The following is an example of a Bounce
event record that Amazon SES publishes
to Amazon SNS.
{
"eventType":"Bounce",
"bounce":{
"bounceType":"Permanent",
"bounceSubType":"General",
"bouncedRecipients":[
{
"emailAddress":"recipient@example.com",
"action":"failed",
"status":"5.1.1",
"diagnosticCode":"smtp; 550 5.1.1 user unknown"
}
],
"timestamp":"2017-08-05T00:41:02.669Z",
"feedbackId":"01000157c44f053b-61b59c11-9236-11e6-8f96-7be8aexample-000000",
"reportingMTA":"dsn; mta.example.com"
},
"mail":{
"timestamp":"2017-08-05T00:40:02.012Z",
"source":"Sender Name <sender@example.com>",
"sourceArn":"arn:aws:ses:us-east-1:123456789012:identity/sender@example.com",
"sendingAccountId":"123456789012",
"messageId":"EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"destination":[
"recipient@example.com"
],
"headersTruncated":false,
"headers":[
{
"name":"From",
"value":"Sender Name <sender@example.com>"
},
{
"name":"To",
"value":"recipient@example.com"
},
{
"name":"Subject",
"value":"Message sent from Amazon SES"
},
{
"name":"MIME-Version",
"value":"1.0"
},
{
"name":"Content-Type",
"value":"multipart/alternative; boundary=\"----=_Part_7307378_1629847660.1516840721503\""
}
],
"commonHeaders":{
"from":[
"Sender Name <sender@example.com>"
],
"to":[
"recipient@example.com"
],
"messageId":"EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"subject":"Message sent from Amazon SES"
},
"tags":{
"ses:configuration-set":[
"ConfigSet"
],
"ses:source-ip":[
"192.0.2.0"
],
"ses:from-domain":[
"example.com"
],
"ses:caller-identity":[
"ses_user"
]
}
}
}
Complaint record
The following is an example of a Complaint
event record that Amazon SES
publishes to Amazon SNS.
{
"eventType":"Complaint",
"complaint": {
"complainedRecipients":[
{
"emailAddress":"recipient@example.com"
}
],
"timestamp":"2017-08-05T00:41:02.669Z",
"feedbackId":"01000157c44f053b-61b59c11-9236-11e6-8f96-7be8aexample-000000",
"userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36",
"complaintFeedbackType":"abuse",
"arrivalDate":"2017-08-05T00:41:02.669Z"
},
"mail":{
"timestamp":"2017-08-05T00:40:01.123Z",
"source":"Sender Name <sender@example.com>",
"sourceArn":"arn:aws:ses:us-east-1:123456789012:identity/sender@example.com",
"sendingAccountId":"123456789012",
"messageId":"EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"destination":[
"recipient@example.com"
],
"headersTruncated":false,
"headers":[
{
"name":"From",
"value":"Sender Name <sender@example.com>"
},
{
"name":"To",
"value":"recipient@example.com"
},
{
"name":"Subject",
"value":"Message sent from Amazon SES"
},
{
"name":"MIME-Version","value":"1.0"
},
{
"name":"Content-Type",
"value":"multipart/alternative; boundary=\"----=_Part_7298998_679725522.1516840859643\""
}
],
"commonHeaders":{
"from":[
"Sender Name <sender@example.com>"
],
"to":[
"recipient@example.com"
],
"messageId":"EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"subject":"Message sent from Amazon SES"
},
"tags":{
"ses:configuration-set":[
"ConfigSet"
],
"ses:source-ip":[
"192.0.2.0"
],
"ses:from-domain":[
"example.com"
],
"ses:caller-identity":[
"ses_user"
]
}
}
}
Delivery record
The following is an example of a Delivery
event record that Amazon SES
publishes to Amazon SNS.
{
"eventType": "Delivery",
"mail": {
"timestamp": "2016-10-19T23:20:52.240Z",
"source": "sender@example.com",
"sourceArn": "arn:aws:ses:us-east-1:123456789012:identity/sender@example.com",
"sendingAccountId": "123456789012",
"messageId": "EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"destination": [
"recipient@example.com"
],
"headersTruncated": false,
"headers": [
{
"name": "From",
"value": "sender@example.com"
},
{
"name": "To",
"value": "recipient@example.com"
},
{
"name": "Subject",
"value": "Message sent from Amazon SES"
},
{
"name": "MIME-Version",
"value": "1.0"
},
{
"name": "Content-Type",
"value": "text/html; charset=UTF-8"
},
{
"name": "Content-Transfer-Encoding",
"value": "7bit"
}
],
"commonHeaders": {
"from": [
"sender@example.com"
],
"to": [
"recipient@example.com"
],
"messageId": "EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"subject": "Message sent from Amazon SES"
},
"tags": {
"ses:configuration-set": [
"ConfigSet"
],
"ses:source-ip": [
"192.0.2.0"
],
"ses:from-domain": [
"example.com"
],
"ses:caller-identity": [
"ses_user"
],
"ses:outgoing-ip": [
"192.0.2.0"
],
"myCustomTag1": [
"myCustomTagValue1"
],
"myCustomTag2": [
"myCustomTagValue2"
]
}
},
"delivery": {
"timestamp": "2016-10-19T23:21:04.133Z",
"processingTimeMillis": 11893,
"recipients": [
"recipient@example.com"
],
"smtpResponse": "250 2.6.0 Message received",
"reportingMTA": "mta.example.com"
}
}
Send record
The following is an example of a Send
event record that Amazon SES publishes
to Amazon SNS. Some fields are not always present. For example, with a templated email, the
subject is rendered later and included in subsequent events.
{
"eventType": "Send",
"mail": {
"timestamp": "2016-10-14T05:02:16.645Z",
"source": "sender@example.com",
"sourceArn": "arn:aws:ses:us-east-1:123456789012:identity/sender@example.com",
"sendingAccountId": "123456789012",
"messageId": "EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"destination": [
"recipient@example.com"
],
"headersTruncated": false,
"headers": [
{
"name": "From",
"value": "sender@example.com"
},
{
"name": "To",
"value": "recipient@example.com"
},
{
"name": "Subject",
"value": "Message sent from Amazon SES"
},
{
"name": "MIME-Version",
"value": "1.0"
},
{
"name": "Content-Type",
"value": "multipart/mixed; boundary=\"----=_Part_0_716996660.1476421336341\""
},
{
"name": "X-SES-MESSAGE-TAGS",
"value": "myCustomTag1=myCustomTagValue1, myCustomTag2=myCustomTagValue2"
}
],
"commonHeaders": {
"from": [
"sender@example.com"
],
"to": [
"recipient@example.com"
],
"messageId": "EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"subject": "Message sent from Amazon SES"
},
"tags": {
"ses:configuration-set": [
"ConfigSet"
],
"ses:source-ip": [
"192.0.2.0"
],
"ses:from-domain": [
"example.com"
],
"ses:caller-identity": [
"ses_user"
],
"myCustomTag1": [
"myCustomTagValue1"
],
"myCustomTag2": [
"myCustomTagValue2"
]
}
},
"send": {}
}
Reject record
The following is an example of a Reject
event record that Amazon SES publishes
to Amazon SNS.
{
"eventType": "Reject",
"mail": {
"timestamp": "2016-10-14T17:38:15.211Z",
"source": "sender@example.com",
"sourceArn": "arn:aws:ses:us-east-1:123456789012:identity/sender@example.com",
"sendingAccountId": "123456789012",
"messageId": "EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"destination": [
"sender@example.com"
],
"headersTruncated": false,
"headers": [
{
"name": "From",
"value": "sender@example.com"
},
{
"name": "To",
"value": "recipient@example.com"
},
{
"name": "Subject",
"value": "Message sent from Amazon SES"
},
{
"name": "MIME-Version",
"value": "1.0"
},
{
"name": "Content-Type",
"value": "multipart/mixed; boundary=\"qMm9M+Fa2AknHoGS\""
},
{
"name": "X-SES-MESSAGE-TAGS",
"value": "myCustomTag1=myCustomTagValue1, myCustomTag2=myCustomTagValue2"
}
],
"commonHeaders": {
"from": [
"sender@example.com"
],
"to": [
"recipient@example.com"
],
"messageId": "EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"subject": "Message sent from Amazon SES"
},
"tags": {
"ses:configuration-set": [
"ConfigSet"
],
"ses:source-ip": [
"192.0.2.0"
],
"ses:from-domain": [
"example.com"
],
"ses:caller-identity": [
"ses_user"
],
"myCustomTag1": [
"myCustomTagValue1"
],
"myCustomTag2": [
"myCustomTagValue2"
]
}
},
"reject": {
"reason": "Bad content"
}
}
Open record
The following is an example of an Open
event record that Amazon SES publishes
to Amazon SNS.
{
"eventType": "Open",
"mail": {
"commonHeaders": {
"from": [
"sender@example.com"
],
"messageId": "EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"subject": "Message sent from Amazon SES",
"to": [
"recipient@example.com"
]
},
"destination": [
"recipient@example.com"
],
"headers": [
{
"name": "X-SES-CONFIGURATION-SET",
"value": "ConfigSet"
},
{
"name":"X-SES-MESSAGE-TAGS",
"value":"myCustomTag1=myCustomValue1, myCustomTag2=myCustomValue2"
},
{
"name": "From",
"value": "sender@example.com"
},
{
"name": "To",
"value": "recipient@example.com"
},
{
"name": "Subject",
"value": "Message sent from Amazon SES"
},
{
"name": "MIME-Version",
"value": "1.0"
},
{
"name": "Content-Type",
"value": "multipart/alternative; boundary=\"XBoundary\""
}
],
"headersTruncated": false,
"messageId": "EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"sendingAccountId": "123456789012",
"source": "sender@example.com",
"tags": {
"myCustomTag1":[
"myCustomValue1"
],
"myCustomTag2":[
"myCustomValue2"
],
"ses:caller-identity": [
"IAM_user_or_role_name"
],
"ses:configuration-set": [
"ConfigSet"
],
"ses:from-domain": [
"example.com"
],
"ses:source-ip": [
"192.0.2.0"
]
},
"timestamp": "2017-08-09T21:59:49.927Z"
},
"open": {
"ipAddress": "192.0.2.1",
"timestamp": "2017-08-09T22:00:19.652Z",
"userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Mobile/14G60"
}
}
Click record
The following is an example of a Click
event record that Amazon SES publishes
to Amazon SNS.
{
"eventType": "Click",
"click": {
"ipAddress": "192.0.2.1",
"link": "http://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-smtp.html",
"linkTags": {
"samplekey0": [
"samplevalue0"
],
"samplekey1": [
"samplevalue1"
]
},
"timestamp": "2017-08-09T23:51:25.570Z",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36"
},
"mail": {
"commonHeaders": {
"from": [
"sender@example.com"
],
"messageId": "EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"subject": "Message sent from Amazon SES",
"to": [
"recipient@example.com"
]
},
"destination": [
"recipient@example.com"
],
"headers": [
{
"name": "X-SES-CONFIGURATION-SET",
"value": "ConfigSet"
},
{
"name":"X-SES-MESSAGE-TAGS",
"value":"myCustomTag1=myCustomValue1, myCustomTag2=myCustomValue2"
},
{
"name": "From",
"value": "sender@example.com"
},
{
"name": "To",
"value": "recipient@example.com"
},
{
"name": "Subject",
"value": "Message sent from Amazon SES"
},
{
"name": "MIME-Version",
"value": "1.0"
},
{
"name": "Content-Type",
"value": "multipart/alternative; boundary=\"XBoundary\""
},
{
"name": "Message-ID",
"value": "EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000"
}
],
"headersTruncated": false,
"messageId": "EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"sendingAccountId": "123456789012",
"source": "sender@example.com",
"tags": {
"myCustomTag1":[
"myCustomValue1"
],
"myCustomTag2":[
"myCustomValue2"
],
"ses:caller-identity": [
"ses_user"
],
"ses:configuration-set": [
"ConfigSet"
],
"ses:from-domain": [
"example.com"
],
"ses:source-ip": [
"192.0.2.0"
]
},
"timestamp": "2017-08-09T23:50:05.795Z"
}
}
Rendering Failure record
The following is an example of a Rendering Failure
event record that
Amazon SES publishes to Amazon SNS.
{
"eventType":"Rendering Failure",
"mail":{
"timestamp":"2018-01-22T18:43:06.197Z",
"source":"sender@example.com",
"sourceArn":"arn:aws:ses:us-east-1:123456789012:identity/sender@example.com",
"sendingAccountId":"123456789012",
"messageId":"EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"destination":[
"recipient@example.com"
],
"headersTruncated":false,
"tags":{
"ses:configuration-set":[
"ConfigSet"
]
}
},
"failure":{
"errorMessage":"Attribute 'attributeName' is not present in the rendering data.",
"templateName":"MyTemplate"
}
}
DeliveryDelay record
The following is an example of a DeliveryDelay
event record that Amazon SES
publishes to Amazon SNS.
{
"eventType": "DeliveryDelay",
"mail":{
"timestamp":"2020-06-16T00:15:40.641Z",
"source":"sender@example.com",
"sourceArn":"arn:aws:ses:us-east-1:123456789012:identity/sender@example.com",
"sendingAccountId":"123456789012",
"messageId":"EXAMPLE7c191be45-e9aedb9a-02f9-4d12-a87d-dd0099a07f8a-000000",
"destination":[
"recipient@example.com"
],
"headersTruncated":false,
"tags":{
"ses:configuration-set":[
"ConfigSet"
]
}
},
"deliveryDelay": {
"timestamp": "2020-06-16T00:25:40.095Z",
"delayType": "TransientCommunicationFailure",
"expirationTime": "2020-06-16T00:25:40.914Z",
"delayedRecipients": [{
"emailAddress": "recipient@example.com",
"status": "4.4.1",
"diagnosticCode": "smtp; 421 4.4.1 Unable to connect to remote host"
}]
}
}
Subscription record
The following is an example of a Subscription
event record that Amazon SES
publishes to Firehose.
{
"eventType": "Subscription",
"mail": {
"timestamp": "2022-01-12T01:00:14.340Z",
"source": "sender@example.com",
"sourceArn": "arn:aws:ses:us-east-1:123456789012:identity/sender@example.com",
"sendingAccountId": "123456789012",
"messageId": "EXAMPLEe4bccb684-777bc8de-afa7-4970-92b0-f515137b1497-000000",
"destination": ["recipient@example.com"],
"headersTruncated": false,
"headers": [
{
"name": "From",
"value": "sender@example.com"
},
{
"name": "To",
"value": "recipient@example.com"
},
{
"name": "Subject",
"value": "Message sent from Amazon SES"
},
{
"name": "MIME-Version",
"value": "1.0"
},
{
"name": "Content-Type",
"value": "text/html; charset=UTF-8"
},
{
"name": "Content-Transfer-Encoding",
"value": "7bit"
}
],
"commonHeaders": {
"from": ["sender@example.com"],
"to": ["recipient@example.com"],
"messageId": "EXAMPLEe4bccb684-777bc8de-afa7-4970-92b0-f515137b1497-000000",
"subject": "Message sent from Amazon SES"
},
"tags": {
"ses:operation": ["SendEmail"],
"ses:configuration-set": ["ConfigSet"],
"ses:source-ip": ["192.0.2.0"],
"ses:from-domain": ["example.com"],
"ses:caller-identity": ["ses_user"],
"myCustomTag1": ["myCustomValue1"],
"myCustomTag2": ["myCustomValue2"]
}
},
"subscription": {
"contactList": "ContactListName",
"timestamp": "2022-01-12T01:00:17.910Z",
"source": "UnsubscribeHeader",
"newTopicPreferences": {
"unsubscribeAll": true,
"topicSubscriptionStatus": [
{
"topicName": "ExampleTopicName",
"subscriptionStatus": "OptOut"
}
]
},
"oldTopicPreferences": {
"unsubscribeAll": false,
"topicSubscriptionStatus": [
{
"topicName": "ExampleTopicName",
"subscriptionStatus": "OptOut"
}
]
}
}
}