public class MailAccount extends Object implements Serializable
Modifier and Type | Field and Description |
---|---|
static String[] |
MAIL_SETTING_PATHS |
Constructor and Description |
---|
MailAccount()
构造,所有参数需自行定义或保持默认值
|
MailAccount(Setting setting)
构造
|
MailAccount(String settingPath)
构造
|
Modifier and Type | Method and Description |
---|---|
MailAccount |
defaultIfEmpty()
如果某些值为null,使用默认值
|
Charset |
getCharset()
获取字符集编码
|
Map<String,Object> |
getCustomProperty()
获取自定义属性列表
|
String |
getFrom()
获取发送方,遵循RFC-822标准
|
String |
getHost()
获得SMTP服务器域名
|
String |
getPass()
获取密码
|
Integer |
getPort()
获得SMTP服务端口
|
Properties |
getSmtpProps()
获得SMTP相关信息
|
String |
getSocketFactoryClass()
获取指定实现javax.net.SocketFactory接口的类的名称,这个类将被用于创建SMTP的套接字
|
int |
getSocketFactoryPort()
获取指定的端口连接到在使用指定的套接字工厂。
|
String |
getSslProtocols()
获取SSL协议,多个协议用空格分隔
|
String |
getUser()
获取用户名
|
Boolean |
isAuth()
是否需要用户名密码验证
|
boolean |
isDebug()
是否打开调试模式,调试模式会显示与邮件服务器通信过程,默认不开启
|
boolean |
isEncodefilename()
对于文件名是否使用
charset 编码,默认为 true |
boolean |
isSocketFactoryFallback()
如果设置为true,未能创建一个套接字使用指定的套接字工厂类将导致使用java.net.Socket创建的套接字类, 默认值为true
|
boolean |
isSplitlongparameters()
对于超长参数是否切分为多份,默认为false(国内邮箱附件不支持切分的附件名)
|
Boolean |
isSslEnable()
是否使用 SSL安全连接
|
boolean |
isStarttlsEnable()
是否使用 STARTTLS安全连接,STARTTLS是对纯文本通信协议的扩展。
|
MailAccount |
setAuth(boolean isAuth)
设置是否需要用户名密码验证
|
MailAccount |
setCharset(Charset charset)
设置字符集编码,此选项不会修改全局配置,若修改全局配置,请设置此项为
null 并设置:
System.setProperty("mail.mime.charset", charset);
|
MailAccount |
setConnectionTimeout(long connectionTimeout)
设置Socket连接超时值,单位毫秒,缺省值不超时
|
MailAccount |
setCustomProperty(String key,
Object value)
设置自定义属性,如mail.smtp.ssl.socketFactory
|
MailAccount |
setDebug(boolean debug)
设置是否打开调试模式,调试模式会显示与邮件服务器通信过程,默认不开启
|
void |
setEncodefilename(boolean encodefilename)
设置对于文件名是否使用
charset 编码,此选项不会修改全局配置如果此选项设置为 false ,则是否编码取决于两个系统属性:
mail.mime.encodefilename 是否编码附件文件名
mail.mime.charset 编码文件名的编码
|
MailAccount |
setFrom(String from)
设置发送方,遵循RFC-822标准
发件人可以是以下形式: 1. user@xxx.xx 2. |
MailAccount |
setHost(String host)
设置SMTP服务器域名
|
MailAccount |
setPass(String pass)
设置密码
|
MailAccount |
setPort(Integer port)
设置SMTP服务端口
|
MailAccount |
setSocketFactoryClass(String socketFactoryClass)
设置指定实现javax.net.SocketFactory接口的类的名称,这个类将被用于创建SMTP的套接字
|
MailAccount |
setSocketFactoryFallback(boolean socketFactoryFallback)
如果设置为true,未能创建一个套接字使用指定的套接字工厂类将导致使用java.net.Socket创建的套接字类, 默认值为true
|
MailAccount |
setSocketFactoryPort(int socketFactoryPort)
指定的端口连接到在使用指定的套接字工厂。
|
void |
setSplitlongparameters(boolean splitlongparameters)
设置对于超长参数是否切分为多份,默认为false(国内邮箱附件不支持切分的附件名)
注意此项为全局设置,此项会调用 System.setProperty("mail.mime.splitlongparameters", true) |
MailAccount |
setSslEnable(Boolean sslEnable)
设置是否使用SSL安全连接
|
void |
setSslProtocols(String sslProtocols)
设置SSL协议,多个协议用空格分隔
|
MailAccount |
setStarttlsEnable(boolean startttlsEnable)
设置是否使用STARTTLS安全连接,STARTTLS是对纯文本通信协议的扩展。
|
MailAccount |
setTimeout(long timeout)
设置SMTP超时时长,单位毫秒,缺省值不超时
|
MailAccount |
setUser(String user)
设置用户名
|
MailAccount |
setWriteTimeout(long writeTimeout)
设置Socket写出超时值,单位毫秒,缺省值不超时
|
String |
toString() |
public static final String[] MAIL_SETTING_PATHS
public MailAccount()
public MailAccount(String settingPath)
settingPath
- 配置文件路径public MailAccount(Setting setting)
setting
- 配置文件public String getHost()
public MailAccount setHost(String host)
host
- SMTP服务器域名public Integer getPort()
public MailAccount setPort(Integer port)
port
- SMTP服务端口public Boolean isAuth()
public MailAccount setAuth(boolean isAuth)
isAuth
- 是否需要用户名密码验证public String getUser()
public MailAccount setUser(String user)
user
- 用户名public String getPass()
public MailAccount setPass(String pass)
pass
- 密码public String getFrom()
public MailAccount setFrom(String from)
1. user@xxx.xx 2. name <user@xxx.xx>
from
- 发送方,遵循RFC-822标准public boolean isDebug()
public MailAccount setDebug(boolean debug)
debug
- 是否打开调试模式,调试模式会显示与邮件服务器通信过程,默认不开启public Charset getCharset()
null
public MailAccount setCharset(Charset charset)
null
并设置:
System.setProperty("mail.mime.charset", charset);
charset
- 字符集编码,null
则表示使用全局设置的默认编码,全局编码为mail.mime.charset系统属性public boolean isSplitlongparameters()
public void setSplitlongparameters(boolean splitlongparameters)
System.setProperty("mail.mime.splitlongparameters", true)
splitlongparameters
- 对于超长参数是否切分为多份public boolean isEncodefilename()
charset
编码,默认为 true
charset
编码,默认为 true
public void setEncodefilename(boolean encodefilename)
charset
编码,此选项不会修改全局配置false
,则是否编码取决于两个系统属性:
encodefilename
- 对于文件名是否使用charset
编码public boolean isStarttlsEnable()
public MailAccount setStarttlsEnable(boolean startttlsEnable)
startttlsEnable
- 是否使用STARTTLS安全连接public Boolean isSslEnable()
public MailAccount setSslEnable(Boolean sslEnable)
sslEnable
- 是否使用SSL安全连接public String getSslProtocols()
public void setSslProtocols(String sslProtocols)
sslProtocols
- SSL协议,多个协议用空格分隔public String getSocketFactoryClass()
public MailAccount setSocketFactoryClass(String socketFactoryClass)
socketFactoryClass
- 指定实现javax.net.SocketFactory接口的类的名称,这个类将被用于创建SMTP的套接字public boolean isSocketFactoryFallback()
public MailAccount setSocketFactoryFallback(boolean socketFactoryFallback)
socketFactoryFallback
- 如果设置为true,未能创建一个套接字使用指定的套接字工厂类将导致使用java.net.Socket创建的套接字类, 默认值为truepublic int getSocketFactoryPort()
public MailAccount setSocketFactoryPort(int socketFactoryPort)
socketFactoryPort
- 指定的端口连接到在使用指定的套接字工厂。如果没有设置,将使用默认端口public MailAccount setTimeout(long timeout)
timeout
- SMTP超时时长,单位毫秒,缺省值不超时public MailAccount setConnectionTimeout(long connectionTimeout)
connectionTimeout
- Socket连接超时值,单位毫秒,缺省值不超时public MailAccount setWriteTimeout(long writeTimeout)
writeTimeout
- Socket写出超时值,单位毫秒,缺省值不超时public Map<String,Object> getCustomProperty()
public MailAccount setCustomProperty(String key, Object value)
key
- 属性名,空白被忽略value
- 属性值, null被忽略public Properties getSmtpProps()
Properties
public MailAccount defaultIfEmpty()
Copyright © 2024. All rights reserved.