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}