终止支持通知:2027 年 3 月 31 日, AWS 将终止对亚马逊 WorkMail的支持。2027 年 3 月 31 日之后,您将无法再访问亚马逊 WorkMail 控制台或亚马逊 WorkMail 资源。有关更多信息,请参阅 Amazon WorkMail 终止支持。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 Amazon 上使用 CloudWatch 见解 WorkMail
如果您在 Amazon WorkMail 控制台中开启了电子邮件事件记录功能或启用了向日志传输审核日 CloudWatch 志,则可以使用 Amazon CloudWatch Logs Insights 来查询您的事件日志。有关启用电子邮件事件日志记录的更多信息,请参阅启用电子邮件事件日志记录。有关 CloudWatch 日志见解的更多信息,请参阅 Amazon Logs 用户指南中的使用 CloudWatch CloudWatch 日志见解分析日志数据。
以下示例演示如何查询常见电子邮件事件的 CloudWatch 日志。你可以在 CloudWatch 控制台中运行这些查询。有关如何运行这些查询的说明,请参阅 Amazon L CloudWatch ogs 用户指南中的教程:运行和修改示例查询。
例查看为何用户 B 没有收到用户 A 发送的电子邮件。
以下代码示例演示了如何查询用户 A 向用户 B 发送的传出电子邮件(按时间戳排序)。
fields @timestamp, traceId | sort @timestamp asc | filter (event.from like /(?i)userA@example.com/ and event.eventName = "OUTGOING_EMAIL_SUBMITTED" and event.recipients.0 like /(?i)userB@example.com/)
这将返回已发送的邮件和跟踪 ID。使用以下代码示例中的跟踪 ID 查询已发送邮件的事件日志。
fields @timestamp, event.eventName | sort @timestamp asc | filter traceId = "$TRACEID"
这将返回电子邮件 ID 和电子邮件事件。OUTGOING_EMAIL_SENT 表示电子邮件已发送。OUTGOING_EMAIL_BOUNCED 表示电子邮件被退回。要了解是否收到了电子邮件,请使用以下代码示例中的邮件 ID 进行查询。
fields @timestamp, event.eventName | sort @timestamp asc | filter event.messageId like "$MESSAGEID"
这还应该返回收到的邮件,因为它具有相同的邮件 ID。使用以下代码示例中的跟踪 ID 可查询送达情况。
fields @timestamp, event.eventName | sort @timestamp asc | filter traceId = "$TRACEID"
这将返回传送操作以及任何合适的规则操作。
例查看从某个用户或域收到的所有邮件
以下代码示例演示了如何查询从指定用户接收的所有邮件。
fields @timestamp, event.eventName | sort @timestamp asc | filter (event.from like /(?i)user@example.com/ and event.eventName = "ORGANIZATION_EMAIL_RECEIVED")
以下代码示例演示了如何查询从指定域接收的所有邮件。
fields @timestamp, event.eventName | sort @timestamp asc | filter (event.from like "example.com" and event.eventName = "ORGANIZATION_EMAIL_RECEIVED")
例查看被退回电子邮件的发件人
以下代码示例演示了如何查询被退回的传出电子邮件,并返回了退回的原因。
fields @timestamp, event.destination, event.reason | sort @timestamp desc | filter event.eventName = "OUTGOING_EMAIL_BOUNCED"
以下代码示例演示了如何查询退回的传入电子邮件。它还会返回退回邮件的收件人的电子邮件地址和退回的原因。
fields @timestamp, event.bouncedRecipient.emailAddress, event.bouncedRecipient.reason, event.bouncedRecipient.status | sort @timestamp desc | filter event.eventName = "INCOMING_EMAIL_BOUNCED"
例查看正在发送垃圾邮件的域
以下代码示例演示了如何查询您组织中正在接收垃圾邮件的收件人。
stats count(*) as c by event.recipients.0 | filter (event.eventName = "ORGANIZATION_EMAIL_RECEIVED" and event.spamVerdict = "FAIL") | sort c desc
以下代码示例演示了如何查询垃圾电子邮件的发件人。
fields @timestamp, event.recipients.0, event.sender, event.from | sort @timestamp asc | filter (event.spamVerdict = "FAIL")
例查看为何电子邮件会发送到收件人的垃圾邮件文件夹
以下代码示例演示了如何查询被认定为垃圾邮件的电子邮件(按主题进行筛选)。
fields @timestamp, event.recipients.0, event.spamVerdict, event.spfVerdict, event.dkimVerdict, event.dmarcVerdict | sort @timestamp asc | filter event.subject like /(?i)$SUBJECT/ and event.eventName = "ORGANIZATION_EMAIL_RECEIVED"
您还可以通过电子邮件跟踪 ID 进行查询以查看该电子邮件的所有事件。
例查看与电子邮件流规则匹配的电子邮件
以下代码示例演示了如何查询与出站电子邮件流规则匹配的电子邮件。
fields @timestamp, event.ruleName, event.ruleActions.0.action | sort @timestamp desc | filter event.ruleType = "OUTBOUND_RULE"
以下代码示例演示了如何查询与入站电子邮件流规则匹配的电子邮件。
fields @timestamp, event.ruleName, event.ruleActions.0.action, event.ruleActions.0.recipients.0 | sort @timestamp desc | filter event.ruleType = "INBOUND_RULE"
例查看您的组织接收或发送的电子邮件数量
以下代码示例演示了如何查询您组织中的每个收件人接收的电子邮件数。
stats count(*) as c by event.recipient | filter event.eventName = "MAILBOX_EMAIL_DELIVERED" | sort c desc
以下代码示例演示了如何查询您组织中的每个发件人发送的电子邮件数。
stats count(*) as c by event.from | filter event.eventName = "OUTGOING_EMAIL_SUBMITTED" | sort c desc