admin_config/
email_config.rs

1//! 邮件配置模块
2//!
3//! 提供 SMTP 邮件发送相关配置
4
5use serde::{Deserialize, Serialize};
6
7/// 邮件配置
8///
9/// 用于配置 SMTP 邮件服务器和发件人信息
10///
11/// # 字段说明
12///
13/// - `smtp_host`: SMTP 服务器地址
14/// - `smtp_port`: SMTP 端口,默认 587(TLS)或 465(SSL)
15/// - `smtp_username`: SMTP 登录用户名
16/// - `smtp_password`: SMTP 登录密码
17/// - `from_name`: 发件人显示名称
18/// - `from_email`: 发件人邮箱地址
19/// - `enable_tls`: 是否启用 TLS 加密,默认 true
20///
21/// # 示例
22///
23/// ```rust
24/// use admin_config::EmailConfig;
25///
26/// let config = EmailConfig::default();
27/// assert_eq!(config.smtp_port, 587);
28/// assert!(config.enable_tls);
29/// ```
30#[derive(Debug, Clone, Serialize, Deserialize)]
31pub struct EmailConfig {
32    /// SMTP 服务器地址
33    pub smtp_host: String,
34    /// SMTP 端口
35    pub smtp_port: u16,
36    /// SMTP 用户名
37    pub smtp_username: String,
38    /// SMTP 密码
39    pub smtp_password: String,
40    /// 发件人名称
41    pub from_name: String,
42    /// 发件人邮箱
43    pub from_email: String,
44    /// 是否启用 TLS
45    pub enable_tls: bool,
46}
47
48impl Default for EmailConfig {
49    fn default() -> Self {
50        Self {
51            smtp_host: String::new(),
52            smtp_port: 587,
53            smtp_username: String::new(),
54            smtp_password: String::new(),
55            from_name: String::new(),
56            from_email: String::new(),
57            enable_tls: true,
58        }
59    }
60}