MailProperties.java 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. package com.zsElectric.boot.config.property;
  2. import lombok.Data;
  3. import org.springframework.boot.context.properties.ConfigurationProperties;
  4. /**
  5. * 邮件配置类,用于接收和存储邮件相关的配置属性。
  6. *
  7. * @author Ray
  8. * @since 2024/8/17
  9. */
  10. @ConfigurationProperties(prefix = "spring.mail")
  11. @Data
  12. public class MailProperties {
  13. /**
  14. * 邮件服务器主机名或 IP 地址。
  15. * 例如:smtp.example.com
  16. */
  17. private String host;
  18. /**
  19. * 邮件服务器端口号。
  20. * 例如:587
  21. */
  22. private int port;
  23. /**
  24. * 用于连接邮件服务器的用户名。
  25. * 例如:your_email@example.com
  26. */
  27. private String username;
  28. /**
  29. * 用于连接邮件服务器的密码。
  30. * 该密码应安全存储,不应在代码中硬编码。
  31. */
  32. private String password;
  33. /**
  34. * 邮件发送者地址。
  35. */
  36. private String from;
  37. /**
  38. * 邮件服务器的其他属性配置。
  39. * 这些配置通常用于进一步定制邮件发送行为。
  40. */
  41. private Properties properties = new Properties();
  42. /**
  43. * 内部类,用于封装邮件服务器的详细配置。
  44. * 包含 SMTP 相关的配置选项。
  45. */
  46. @Data
  47. public static class Properties {
  48. /**
  49. * SMTP 配置选项类。
  50. * 包含认证、加密等与 SMTP 协议相关的配置。
  51. */
  52. private Smtp smtp = new Smtp();
  53. @Data
  54. public static class Smtp {
  55. /**
  56. * 是否启用 SMTP 认证。
  57. * 如果为 `true`,则需要提供有效的用户名和密码进行认证。
  58. */
  59. private boolean auth;
  60. /**
  61. * STARTTLS 加密配置选项。
  62. */
  63. private StartTls starttls = new StartTls();
  64. @Data
  65. public static class StartTls {
  66. /**
  67. * 是否启用 STARTTLS 加密。
  68. * 如果为 `true`,在发送邮件时将启用 STARTTLS 协议进行加密传输。
  69. */
  70. private boolean enable;
  71. }
  72. }
  73. }
  74. }