Package org.miaixz.bus.extra.mail
Class MailAccount
java.lang.Object
org.miaixz.bus.extra.mail.MailAccount
- All Implemented Interfaces:
Serializable
邮件账户对象
- Since:
- Java 17+
- Author:
- Kimi Liu
- See Also:
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescription构造,所有参数需自行定义或保持默认值MailAccount(String settingPath) 构造MailAccount(org.miaixz.bus.setting.Setting setting) 构造 -
Method Summary
Modifier and TypeMethodDescription如果某些值为null,使用默认值获取认证机制,多个机制使用空格或逗号隔开,如:XOAUTH2获取字符集编码获取自定义属性列表getFrom()获取发送方,遵循RFC-822标准getHost()获得SMTP服务器域名char[]getPass()获取密码getPort()获得SMTP服务端口获得SMTP相关信息获取指定实现javax.net.SocketFactory接口的类的名称,这个类将被用于创建SMTP的套接字int获取指定的端口连接到在使用指定的套接字工厂。获取SSL协议,多个协议用空格分隔getUser()获取用户名isAuth()是否需要用户名密码验证booleanisDebug()是否打开调试模式,调试模式会显示与邮件服务器通信过程,默认不开启boolean对于文件名是否使用charset编码,默认为trueboolean如果设置为true,未能创建一个套接字使用指定的套接字工厂类将导致使用java.net.Socket创建的套接字类, 默认值为true是否使用 SSL安全连接boolean是否使用 STARTTLS安全连接,STARTTLS是对纯文本通信协议的扩展。setAuth(boolean isAuth) 设置是否需要用户名密码验证setAuthMechanisms(String authMechanisms) 设置认证机制,多个机制使用空格或逗号隔开,如:XOAUTH2setCharset(Charset charset) 设置字符集编码,此选项不会修改全局配置,若修改全局配置,请设置此项为null并设置:setConnectionTimeout(long connectionTimeout) 设置Socket连接超时值,单位毫秒,缺省值不超时setCustomProperty(String key, Object value) 设置自定义属性,如mail.smtp.ssl.socketFactorysetDebug(boolean debug) 设置是否打开调试模式,调试模式会显示与邮件服务器通信过程,默认不开启voidsetEncodefilename(boolean encodefilename) 设置对于文件名是否使用charset编码,此选项不会修改全局配置 如果此选项设置为false,则是否编码取决于两个系统属性: mail.mime.encodefilename 是否编码附件文件名 mail.mime.charset 编码文件名的编码设置发送方,遵循RFC-822标准 发件人可以是以下形式:设置SMTP服务器域名setPass(char[] pass) 设置密码设置SMTP服务端口setSocketFactoryClass(String socketFactoryClass) 设置指定实现javax.net.SocketFactory接口的类的名称,这个类将被用于创建SMTP的套接字setSocketFactoryFallback(boolean socketFactoryFallback) 如果设置为true,未能创建一个套接字使用指定的套接字工厂类将导致使用java.net.Socket创建的套接字类, 默认值为truesetSocketFactoryPort(int socketFactoryPort) 指定的端口连接到在使用指定的套接字工厂。setSslEnable(Boolean sslEnable) 设置是否使用SSL安全连接voidsetSslProtocols(String sslProtocols) 设置SSL协议,多个协议用空格分隔setStarttlsEnable(boolean startttlsEnable) 设置是否使用STARTTLS安全连接,STARTTLS是对纯文本通信协议的扩展。setTimeout(long timeout) 设置SMTP超时时长,单位毫秒,缺省值不超时设置用户名setWriteTimeout(long writeTimeout) 设置Socket写出超时值,单位毫秒,缺省值不超时toString()
-
Field Details
-
MAIL_SETTING_PATHS
默认mail配置查询路径
-
-
Constructor Details
-
MailAccount
public MailAccount()构造,所有参数需自行定义或保持默认值 -
MailAccount
构造- Parameters:
settingPath- 配置文件路径
-
MailAccount
public MailAccount(org.miaixz.bus.setting.Setting setting) 构造- Parameters:
setting- 配置文件
-
-
Method Details
-
getHost
获得SMTP服务器域名- Returns:
- SMTP服务器域名
-
setHost
设置SMTP服务器域名- Parameters:
host- SMTP服务器域名- Returns:
- this
-
getPort
获得SMTP服务端口- Returns:
- SMTP服务端口
-
setPort
设置SMTP服务端口- Parameters:
port- SMTP服务端口- Returns:
- this
-
isAuth
是否需要用户名密码验证- Returns:
- 是否需要用户名密码验证
-
setAuth
设置是否需要用户名密码验证- Parameters:
isAuth- 是否需要用户名密码验证- Returns:
- this
-
getAuthMechanisms
获取认证机制,多个机制使用空格或逗号隔开,如:XOAUTH2- Returns:
- 认证机制
-
setAuthMechanisms
设置认证机制,多个机制使用空格或逗号隔开,如:XOAUTH2- Parameters:
authMechanisms- 认证机制- Returns:
- this
-
getUser
获取用户名- Returns:
- 用户名
-
setUser
设置用户名- Parameters:
user- 用户名- Returns:
- this
-
getPass
public char[] getPass()获取密码- Returns:
- 密码
-
setPass
设置密码- Parameters:
pass- 密码- Returns:
- this
-
getFrom
获取发送方,遵循RFC-822标准- Returns:
- 发送方,遵循RFC-822标准
-
setFrom
设置发送方,遵循RFC-822标准 发件人可以是以下形式:1. user@xxx.xx 2. name <user@xxx.xx>
- Parameters:
from- 发送方,遵循RFC-822标准- Returns:
- this
-
isDebug
public boolean isDebug()是否打开调试模式,调试模式会显示与邮件服务器通信过程,默认不开启- Returns:
- 是否打开调试模式,调试模式会显示与邮件服务器通信过程,默认不开启
-
setDebug
设置是否打开调试模式,调试模式会显示与邮件服务器通信过程,默认不开启- Parameters:
debug- 是否打开调试模式,调试模式会显示与邮件服务器通信过程,默认不开启- Returns:
- this
-
getCharset
获取字符集编码- Returns:
- 编码,可能为
null
-
setCharset
设置字符集编码,此选项不会修改全局配置,若修改全局配置,请设置此项为null并设置:System.setProperty("mail.mime.charset", charset);- Parameters:
charset- 字符集编码,null则表示使用全局设置的默认编码,全局编码为mail.mime.charset系统属性- Returns:
- this
-
isEncodefilename
public boolean isEncodefilename()对于文件名是否使用charset编码,默认为true- Returns:
- 对于文件名是否使用
charset编码,默认为true
-
setEncodefilename
public void setEncodefilename(boolean encodefilename) 设置对于文件名是否使用charset编码,此选项不会修改全局配置 如果此选项设置为false,则是否编码取决于两个系统属性:- mail.mime.encodefilename 是否编码附件文件名
- mail.mime.charset 编码文件名的编码
- Parameters:
encodefilename- 对于文件名是否使用charset编码
-
isStarttlsEnable
public boolean isStarttlsEnable()是否使用 STARTTLS安全连接,STARTTLS是对纯文本通信协议的扩展。它将纯文本连接升级为加密连接(TLS或SSL), 而不是使用一个单独的加密通信端口。- Returns:
- 是否使用 STARTTLS安全连接
-
setStarttlsEnable
设置是否使用STARTTLS安全连接,STARTTLS是对纯文本通信协议的扩展。它将纯文本连接升级为加密连接(TLS或SSL), 而不是使用一个单独的加密通信端口。- Parameters:
startttlsEnable- 是否使用STARTTLS安全连接- Returns:
- this
-
isSslEnable
是否使用 SSL安全连接- Returns:
- 是否使用 SSL安全连接
-
setSslEnable
设置是否使用SSL安全连接- Parameters:
sslEnable- 是否使用SSL安全连接- Returns:
- this
-
getSslProtocols
获取SSL协议,多个协议用空格分隔- Returns:
- SSL协议,多个协议用空格分隔
-
setSslProtocols
设置SSL协议,多个协议用空格分隔- Parameters:
sslProtocols- SSL协议,多个协议用空格分隔
-
getSocketFactoryClass
获取指定实现javax.net.SocketFactory接口的类的名称,这个类将被用于创建SMTP的套接字- Returns:
- 指定实现javax.net.SocketFactory接口的类的名称, 这个类将被用于创建SMTP的套接字
-
setSocketFactoryClass
设置指定实现javax.net.SocketFactory接口的类的名称,这个类将被用于创建SMTP的套接字- Parameters:
socketFactoryClass- 指定实现javax.net.SocketFactory接口的类的名称,这个类将被用于创建SMTP的套接字- Returns:
- this
-
isSocketFactoryFallback
public boolean isSocketFactoryFallback()如果设置为true,未能创建一个套接字使用指定的套接字工厂类将导致使用java.net.Socket创建的套接字类, 默认值为true- Returns:
- 如果设置为true, 未能创建一个套接字使用指定的套接字工厂类将导致使用java.net.Socket创建的套接字类, 默认值为true
-
setSocketFactoryFallback
如果设置为true,未能创建一个套接字使用指定的套接字工厂类将导致使用java.net.Socket创建的套接字类, 默认值为true- Parameters:
socketFactoryFallback- 如果设置为true,未能创建一个套接字使用指定的套接字工厂类将导致使用java.net.Socket创建的套接字类, 默认值为true- Returns:
- this
-
getSocketFactoryPort
public int getSocketFactoryPort()获取指定的端口连接到在使用指定的套接字工厂。如果没有设置,将使用默认端口- Returns:
- 指定的端口连接到在使用指定的套接字工厂。如果没有设置,将使用默认端口
-
setSocketFactoryPort
指定的端口连接到在使用指定的套接字工厂。如果没有设置,将使用默认端口- Parameters:
socketFactoryPort- 指定的端口连接到在使用指定的套接字工厂。如果没有设置,将使用默认端口- Returns:
- this
-
setTimeout
设置SMTP超时时长,单位毫秒,缺省值不超时- Parameters:
timeout- SMTP超时时长,单位毫秒,缺省值不超时- Returns:
- this
-
setConnectionTimeout
设置Socket连接超时值,单位毫秒,缺省值不超时- Parameters:
connectionTimeout- Socket连接超时值,单位毫秒,缺省值不超时- Returns:
- this
-
setWriteTimeout
设置Socket写出超时值,单位毫秒,缺省值不超时- Parameters:
writeTimeout- Socket写出超时值,单位毫秒,缺省值不超时- Returns:
- this
-
getCustomProperty
获取自定义属性列表- Returns:
- 自定义参数列表
-
setCustomProperty
设置自定义属性,如mail.smtp.ssl.socketFactory- Parameters:
key- 属性名,空白被忽略value- 属性值, null被忽略- Returns:
- this
-
getSmtpProps
获得SMTP相关信息- Returns:
Properties
-
defaultIfEmpty
如果某些值为null,使用默认值- Returns:
- this
-
toString
-