你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure 通信服务电子邮件日志

Azure 通信服务提供的日志记录功能可用于监视和调试通信服务解决方案。 可通过 Azure 门户配置这些功能。

先决条件

Azure 通信服务通过 Azure Monitor 日志概述Azure Monitor 指标提供监视和分析功能。 每个 Azure 资源都需有自身的诊断设置,其设置定义了以下条件:

  • 发送到设置中所定义目标的日志和指标数据的类别。 不同资源类型的可用类别各不相同。
  • 要将日志发送到的一个或多个目标。 当前目标包括 Log Analytics 工作区、事件中心和 Azure 存储。
  • 一个诊断设置只能为每个目标定义一种类型。 若要将数据发送到多个特定的目标类型(例如,两个不同的 Log Analytics 工作区),请创建多个设置。 每个资源最多可以有五个诊断设置。

重要

必须在 Azure Monitor 中启用诊断设置,才能将调查的日志数据发送到 Log Analytics 工作区、事件中心或 Azure 存储帐户,以便接收和分析调查数据。 如果不向其中一个选项发送呼叫自动化数据,那么调查数据不会被保存且会丢失 以下说明解释如何配置 Azure Monitor 资源以开始为通信服务创建日志和指标。 有关对所有 Azure 资源使用诊断设置的详细文档,请参阅:启用诊断设置中的日志记录

注意

在诊断设置名称下,请选择“电子邮件服务发送状态更新日志”、“电子邮件服务发送电子邮件日志”、“电子邮件服务用户参与日志”以启用电子邮件的日志

电子邮件诊断设置的屏幕截图。

资源日志类别

通信服务提供以下类型的日志,你可以启用:

  • 使用情况日志 - 提供与每个计费服务产品相关联的使用情况数据
  • 电子邮件发送邮件操作日志 - 提供有关电子邮件服务发送邮件请求的详细信息。
  • 电子邮件状态更新操作日志 - 提供与电子邮件服务发送邮件请求相关的邮件和收件人级别的传递状态更新。
  • 电子邮件用户参与操作日志 - 提供与从电子邮件服务发送的邮件的“打开”和“单击”用户参与指标相关的信息。

使用情况日志架构

properties 说明
Timestamp 生成日志的时间戳 (UTC)。
Operation Name 与日志记录相关联的操作。
Operation Version 如果使用 API 执行 operationName,则 api-version 与该操作关联。 如果没有与该操作相对应的 API,则此版本表示该操作的版本,以防与该操作关联的属性将来发生更改。
Category 事件的日志类别。 类别是可以在特定资源上启用或禁用日志的粒度。 在事件的属性 blob 内显示的属性在特定日志类别和资源类型中相同。
Correlation ID 关联事件的 ID。 可用于标识多个表之间的关联事件。
Properties 适用于各种通信服务模式的其他数据。
Record ID 给定使用情况记录的唯一 ID。
Usage Type 使用情况模式。 (例如 聊天、PSTN、NAT 等)
Unit Type 对于给定的使用情况模式,使用情况所基于的单位类型。 (例如分钟、兆字节、消息等)。
Quantity 此记录使用或消耗的单位数。

电子邮件发送邮件操作日志

电子邮件发送邮件操作日志提供有关 API 随时间变化的请求趋势的宝贵见解。 此数据可帮助你发现关键电子邮件分析,例如电子邮件的总发送数、电子邮件大小和有附件的电子邮件数。 可以近乎实时地快速分析此信息,以用户友好的方式可视化,以帮助更好地基于信息作出决策。

properties 说明
TimeGenerated 生成日志的时间戳 (UTC)。
Location 处理操作的区域。
OperationName 与日志记录相关联的操作。
OperationVersion 如果使用 API 执行 operationName,则 api-version 与该操作关联。 如果没有与该操作相对应的 API,则此版本表示该操作的版本,以防与该操作关联的属性将来发生更改。
Category 事件的日志类别。 类别是可以在特定资源上启用或禁用日志的粒度。 在事件的属性 blob 内显示的属性在特定日志类别和资源类型中相同。
CorrelationID 关联事件的 ID。 可用于标识多个表之间的关联事件。 对于所有电子邮件操作日志,CorrelationId 将映射到从成功的 SendMail 请求返回的 MessageId。
Size 表示电子邮件正文、主题、标题和附件的总大小(以兆字节为单位)。
ToRecipientsCount “收件人”行上唯一电子邮件地址的总数。
CcRecipientsCount “抄送”行上唯一电子邮件地址的总数。
BccRecipientsCount “密送”行上唯一电子邮件地址的总数。
UniqueRecipientsCount 这是“收件人”、“抄送”和“密送”地址字段的已消重收件人总数。
AttachmentsCount 附件总数。
TrafficSource 发送电子邮件请求的客户端名称。

示例

{
  "OperationType":"SendMail", 
  "OperationCategory":"EmailSendMailOperational",
  "Size":0.026019,
  "ToRecipientsCount":2,
  "CcRecipientsCount":3, 
  "BccRecipientsCount":1, 
  "UniqueRecipientsCount":6, 
  "AttachmentsCount":0,
  "TrafficSource":"Email .NET SDK"
}

电子邮件状态更新操作日志

电子邮件状态更新操作日志让人能够深入了解 sendmail API 请求上的邮件级别和收件人级的发送状态更新。

  • 消息级状态更新提供长时间运行的电子邮件发送操作的状态(类似于通过调用 GET API 接收的状态更新)。 这些更新没有 RecipientId 属性的标记,因为它们适用于整个邮件,而不是邮件请求中的特定收件人。 DeliveryStatus 属性包含消息级的发送状态。 此类事件的 DeliveryStatus 的值可能为 DroppedOutForDeliveryQueued
  • 收件人级别的状态更新提供单个消息的每个邮件收件人的电子邮件发送状态。 包括带收件人电子邮箱地址的 RecipientId 属性。 DeliveryStatus 属性提供收件人级别的发送状态。 此类事件的 DeliveryStatus 的值可能为 DeliveredExpandedFailedQuarantinedFilteredSpamSuppressedBounced。 通过跟踪这些日志,你可以确保全面了解电子邮件的发送过程,快速识别可能出现的任何问题,并在必要时采取纠正措施。
properties 说明
TimeGenerated 生成日志的时间戳 (UTC)。
Location 处理操作的区域。
OperationName 与日志记录相关联的操作。
OperationVersion 如果使用 API 执行 operationName,则 api-version 与该操作关联。 如果没有与该操作相对应的 API,则此版本表示该操作的版本,以防与该操作关联的属性将来发生更改。
Category 事件的日志类别。 类别是可以在特定资源上启用或禁用日志的粒度。 在事件的属性 blob 内显示的属性在特定日志类别和资源类型中相同。
CorrelationID 关联事件的 ID。 可用于标识多个表之间的关联事件。 对于所有电子邮件操作日志,CorrelationId 将映射到从成功的 SendMail 请求返回的 MessageId。
RecipientId 目标收件人的电子邮件地址。 它仅适用于收件人级事件。 如果这是消息级事件,则该属性将为空。
DeliveryStatus 消息的终端状态。 消息级事件的值可能为 DroppedOutForDeliveryQueued。 收件人级事件的值可能为 DeliveredExpandedFailedQuarantinedFilteredSpamSuppressedBounced
SmtpStatusCode 应发送邮件请求,从收件人电子邮件服务器返回的 SMTP 状态代码。
EnhancedSmtpStatusCode 收件人电子邮件服务器返回的增强 SMTP 状态代码。
SenderDomain 发送电子邮件使用的 SenderAddress 域部分。
SenderUsername 发送电子邮件使用的 SenderAddress 用户名部分。
IsHardBounce 表示永久性或临时问题造成发送失败。 IsHardBounce == true 表示存在永久的邮箱问题阻止电子邮件发送。

示例

{
  "OperationType":"DeliveryStatusUpdate", 
  "OperationCategory":"EmailStatusUpdateOperational", 
  "RecipientId":"user@email.com", 
  "DeliveryStatus":"Delivered", 
  "SenderDomain":"contoso.com", 
  "SenderUsername":"donotreply", 
  "IsHardBounce":false
}

电子邮件用户参与操作日志

电子邮件用户参与操作日志提供有关电子邮件系统的电子邮件参与趋势的见解。 此数据可帮助你跟踪和分析关键电子邮件指标,例如打开率、点击率和取消订阅率。 这些日志可以被保存和分析,从而更深入地了解电子邮件系统的性能,并相应地调整策略。 总的来说,电子邮件用户参与操作日志提供了一个强大的工具,用于改进电子邮件系统的性能、主动测量和优化电子邮件市场活动,以及随着时间的推移改进用户参与度。

properties 说明
TimeGenerated 生成日志的时间戳 (UTC)。
Location 处理操作的区域。
OperationName 与日志记录相关联的操作。
OperationVersion 如果使用 API 执行 operationName,则 api-version 与该操作关联。 如果没有与该操作相对应的 API,则此版本表示该操作的版本,以防与该操作关联的属性将来发生更改。
Category 事件的日志类别。 类别是可以在特定资源上启用或禁用日志的粒度。 在事件的属性 blob 内显示的属性在特定日志类别和资源类型中相同。
CorrelationID 关联事件的 ID。 可用于标识多个表之间的关联事件。 对于所有电子邮件操作日志,CorrelationId 将映射到从成功的 SendMail 请求返回的 MessageId。
RecipientId 目标收件人的电子邮件地址。 如果这是消息级事件,则该属性将为空。
EngagementType 正在跟踪的用户参与的类型。
EngagementContext 该上下文表示用户与之交互的内容。
UserAgent 客户端的用户代理字符串。

示例

{
    "OperationType": "UserEngagementUpdate",
    "OperationCategory": "EmailUserEngagementOperational",
    "EngagementType": "View",
    "UserAgent": "Mozilla/5.0"
}

{
  "OperationType":"UserEngagementUpdate", 
  "OperationCategory":"EmailUserEngagementOperational",
  "EngagementType":"Click",
  "EngagementContext":"https://www.contoso.com/support?id=12345", 
  "UserAgent":"Mozilla/5.0"
}