namespace CMSMicroservice.Infrastructure.Configuration;

/// <summary>
/// Email/SMTP configuration settings
/// </summary>
public class EmailSettings
{
    public const string SectionName = "Email";

    /// <summary>
    /// Enable/Disable email sending
    /// </summary>
    public bool Enabled { get; set; } = true;

    /// <summary>
    /// SMTP server host (e.g., smtp.gmail.com)
    /// </summary>
    public string SmtpHost { get; set; } = string.Empty;

    /// <summary>
    /// SMTP server port (587 for TLS, 465 for SSL, 25 for non-encrypted)
    /// </summary>
    public int SmtpPort { get; set; } = 587;

    /// <summary>
    /// SMTP username (usually email address)
    /// </summary>
    public string SmtpUsername { get; set; } = string.Empty;

    /// <summary>
    /// SMTP password (use app password for Gmail)
    /// </summary>
    public string SmtpPassword { get; set; } = string.Empty;

    /// <summary>
    /// From email address
    /// </summary>
    public string FromEmail { get; set; } = string.Empty;

    /// <summary>
    /// From display name
    /// </summary>
    public string FromName { get; set; } = "FourSat CMS";

    /// <summary>
    /// Enable SSL/TLS
    /// </summary>
    public bool EnableSsl { get; set; } = true;
}
