using Dpz.Core.EnumLibrary;

namespace Dpz.Core.Public.ViewModel.Request;

/// <summary>
/// Represents the AddEmailHistoryRequest type.
/// </summary>
public class AddEmailHistoryRequest
{
    /// <summary>
    ///  收件人电子邮件地址
    /// </summary>
    public List<string> ToRecipients { get; set; } = [];

    /// <summary>
    /// 抄送电子邮件地址
    /// </summary>
    public List<string> CcRecipients { get; set; } = [];

    /// <summary>
    /// 邮件主题
    /// </summary>
    public required string Subject { get; set; }

    /// <summary>
    /// 邮件发送时间
    /// </summary>
    public DateTime? SentTime { get; set; }

    /// <summary>
    /// 发送状态(成功或失败)
    /// </summary>
    public EmailSendStatus Status { get; set; }

    /// <summary>
    /// 发送失败时的错误信息(如果有的话)
    /// </summary>
    public string? ErrorMessage { get; set; }

    /// <summary>
    /// 发送者的电子邮件地址
    /// </summary>
    public required string SenderEmail { get; set; }

    /// <summary>
    /// 邮件内容的摘要或预览(可选)
    /// </summary>
    public string? ContentPreview { get; set; }
}
⚠⚠    以下内容为AI分析的结果,请根据实际情况进行判断。

这是一个用于添加邮件历史记录的请求模型类,以下是详细解释:

类的基本信息

  • 命名空间: Dpz.Core.Public.ViewModel.Request
  • 类名: AddEmailHistoryRequest
  • 用途: 用于表示添加邮件发送历史记录的请求数据结构

属性详解

1. 收件人信息

public List<string> ToRecipients { get; set; } = [];
public List<string> CcRecipients { get; set; } = [];
  • ToRecipients: 收件人电子邮件地址列表
  • CcRecipients: 抄送收件人电子邮件地址列表
  • 都使用了集合表达式语法 [] 初始化为空列表

2. 必需属性

public required string Subject { get; set; }
public required string SenderEmail { get; set; }
  • Subject: 邮件主题(必需字段)
  • SenderEmail: 发送者邮箱地址(必需字段)
  • 使用 required 关键字,确保在创建对象时必须提供这些值

3. 发送状态相关

public DateTime? SentTime { get; set; }
public EmailSendStatus Status { get; set; }
public string? ErrorMessage { get; set; }
  • SentTime: 邮件发送时间(可为空)
  • Status: 发送状态,使用枚举类型 EmailSendStatus
  • ErrorMessage: 发送失败时的错误信息(可为空)

4. 辅助信息

public string? ContentPreview { get; set; }
  • ContentPreview: 邮件内容的摘要或预览(可选)

技术特点

  1. 现代 C# 语法: 使用了 required 修饰符和集合表达式
  2. 可空引用类型: 适当使用 ? 标记可空属性
  3. 枚举使用: EmailSendStatus 来自 Dpz.Core.EnumLibrary
  4. 清晰的注释: 每个属性都有中文注释说明其用途

这个类通常用于记录邮件发送的历史信息,便于后续的审计、统计和故障排查。

评论加载中...