using Domain.Entities.Common.ValueObject; namespace Domain.Entities.Common; /// /// 이메일 발송 큐. MailWorker가 폴링하여 SMTP 송신. /// public sealed class EmailLog { public long ID { get; set; } public string ToAddress { get; set; } = default!; public string Subject { get; set; } = default!; public string MessageHtml { get; set; } = default!; public string? MessageText { get; set; } public MailStatus Status { get; set; } = MailStatus.Pending; public int RetryCount { get; set; } public int MaxRetryCount { get; set; } = 3; public DateTime NextRetryAt { get; set; } = DateTime.UtcNow; public string? LastError { get; set; } public string? Category { get; set; } public DateTime CreatedAt { get; set; } = DateTime.UtcNow; public DateTime? ProcessedAt { get; set; } public DateTime? FailedAt { get; set; } }