| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- package com.zsElectric.boot.config.property;
- import lombok.Data;
- import org.springframework.boot.context.properties.ConfigurationProperties;
- /**
- * 邮件配置类,用于接收和存储邮件相关的配置属性。
- *
- * @author Ray
- * @since 2024/8/17
- */
- @ConfigurationProperties(prefix = "spring.mail")
- @Data
- public class MailProperties {
- /**
- * 邮件服务器主机名或 IP 地址。
- * 例如:smtp.example.com
- */
- private String host;
- /**
- * 邮件服务器端口号。
- * 例如:587
- */
- private int port;
- /**
- * 用于连接邮件服务器的用户名。
- * 例如:your_email@example.com
- */
- private String username;
- /**
- * 用于连接邮件服务器的密码。
- * 该密码应安全存储,不应在代码中硬编码。
- */
- private String password;
- /**
- * 邮件发送者地址。
- */
- private String from;
- /**
- * 邮件服务器的其他属性配置。
- * 这些配置通常用于进一步定制邮件发送行为。
- */
- private Properties properties = new Properties();
- /**
- * 内部类,用于封装邮件服务器的详细配置。
- * 包含 SMTP 相关的配置选项。
- */
- @Data
- public static class Properties {
- /**
- * SMTP 配置选项类。
- * 包含认证、加密等与 SMTP 协议相关的配置。
- */
- private Smtp smtp = new Smtp();
- @Data
- public static class Smtp {
- /**
- * 是否启用 SMTP 认证。
- * 如果为 `true`,则需要提供有效的用户名和密码进行认证。
- */
- private boolean auth;
- /**
- * STARTTLS 加密配置选项。
- */
- private StartTls starttls = new StartTls();
- @Data
- public static class StartTls {
- /**
- * 是否启用 STARTTLS 加密。
- * 如果为 `true`,在发送邮件时将启用 STARTTLS 协议进行加密传输。
- */
- private boolean enable;
- }
- }
- }
- }
|