AWS SES消息ID的格式是什么



AWS的简单电子邮件服务(SES(为收到的电子邮件分配一个"messageID"。这与此处所述的电子邮件的Message-ID标头不同(尽管它听起来像是针对发送的邮件,但在收到时也可用(。

这个标识符是40个字符,小写,字母数字,而且——到目前为止,在我的采样中——似乎总是以1结尾(当然,这可能不是普遍正确的——我的帐户位于哪里,或者使用了哪个服务器可能是一个因素(。

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

  • https://forums.aws.amazon.com/message.jspa?messageID=76119

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

它们看起来像是随机的UUID(v4(+自定义的东西。亚马逊使用了很多Java,所以如果它们是使用JavaUUID类加上一些额外的自定义代码生成的,我不会感到惊讶。

请参阅:https://docs.oracle.com/javase/8/docs/api/java/util/UUID.html#randomUUID((

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

-> .
<-  250 OK e80lsh8r5ju55t3q2m0l8kjre68dipve7vk7kh01
-> QUIT
<-  221 Bye

接收MTA的AWS插入的标题:

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)

SES json提供给SNS主题:

{
"notificationType": "Received",
"mail": {
"timestamp": "2020-10-16T12:04:26.671Z",
"source": "random@xxx.net",
"messageId": "v49qltmbhp1dkvc17v0uo3ls638pg9l1m9cclt01",
"destination": [
"dev@rcpt.com"
],
"headers": [ ...
{
"name": "Message-Id",
"value": "<20201016070426.020156@xxx.net>"
},
...

最新更新