Amazon web services AWS SES MessageID的格式是什么?

Amazon web services AWS SES MessageID的格式是什么?,amazon-web-services,amazon-ses,Amazon Web Services,Amazon Ses,AWS的简单电子邮件服务(SES)为收到的电子邮件分配一个“messageID”。这与电子邮件的消息ID标题不同(虽然它听起来像是用于发送邮件,但也可用于接收邮件) 这个标识符是40个字符,小写,字母数字,并且-到目前为止在我的抽样中-似乎总是以1结尾(但这当然可能不是普遍正确的-我的帐户所在地,或者使用了哪台服务器可能是一个因素) 实际结构是如何生成、记录的,还是以其他方式保证和已知的? “messageId”:“000001378603177f-7a5433e7-8edb-42ae-af

AWS的简单电子邮件服务(SES)为收到的电子邮件分配一个“messageID”。这与电子邮件的
消息ID
标题不同(虽然它听起来像是用于发送邮件,但也可用于接收邮件)

这个标识符是40个字符,小写,字母数字,并且-到目前为止在我的抽样中-似乎总是以
1
结尾(但这当然可能不是普遍正确的-我的帐户所在地,或者使用了哪台服务器可能是一个因素)

实际结构是如何生成、记录的,还是以其他方式保证和已知的?

“messageId”:“000001378603177f-7a5433e7-8edb-42ae-af10-f0181f34d6ee-000000”

它们看起来像随机UUID(v4)+它周围的自定义内容。Amazon使用了大量Java,因此如果它们是使用Java
UUID
类加上一些额外的自定义代码生成的,我不会感到惊讶


请参阅:

是的,因为它是在AWS端的接收主机上生成的ID,与消息ID头无关。我相信它是独一无二的(基于时间+随机),但正如你已经意识到的,这个信息还没有公开。它还包含在AWS MTA对客户端rfc5321.data+dot命令的回复中

 -> .
<-  250 OK e80lsh8r5ju55t3q2m0l8kjre68dipve7vk7kh01
 -> QUIT
<-  221 Bye
提供给SNS主题的SES json:

{
“通知类型”:“已收到”,
“邮件”:{
“时间戳”:“2020-10-16T12:04:26.671Z”,
“来源”:random@xxx.net",
“消息ID”:“v49qltmbhp1dkvc17v0uo3ls638pg9l1m9cclt01”,
“目的地”:[
"dev@rcpt.com"
],
“标题”:[。。。
{
“名称”:“消息Id”,
“值”:”
},
...

传入邮件?我会假设发送系统的邮件Id会被保留。@Michael sqlbot这与电子邮件本身中的
邮件Id
标题不同;它仅用于AWS“元数据”,因为缺少更好的词,例如在SNS通知中(在
ses.mail.messageId
关键字下)当电子邮件存储在S3存储桶中时,作为对象键。我已经在OP中添加了这一说明,谢谢。不是这一个,我想我也会在不同的字段中收到这些说明,但是
ses.mail.messageId
是小写字母数字(不是十六进制,从外观上看是全a-z,尽管我实际上没有检查每个字符),40ch,绝对不是UUIDv4s。还要注意,线程是关于SQS的,而不是关于SES的。@OJFord是的,这可能随时改变,这只是他们提供的某种ID。
Received: from xx (xx.net [1.2.3.4])
 by inbound-smtp.us-east-1.amazonaws.com with SMTP id v49qltmbhp1dkvc17v0uo3ls638pg9l1m9cclt01
 for dev@rcpt.com;
 Fri, 16 Oct 2020 12:04:26 +0000 (UTC)