在同一java邮件会话上创建多个传输连接

时间:2019-07-11 08:44:49

标签: java kotlin javamail

这些是我的财产

val props = Properties()
props.put("mail.transport.protocol", "smtp");
props.put("mail.smtp.port", 465);
props.put("mail.smtp.auth", true);
props.put("mail.smtp.starttls.required",true);
props.put("mail.smtp.starttls.enable", true);
props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
props.put("mail.debug",true)
props.put("mail.smtp.quitwait", false)

我的会话对象

val session = Session.getInstance(props)

我的交通连接

val transport1= session.getTransport("smtp")
val transport2= session.getTransport("smtp")

我想知道上面的代码行与我的邮件服务器创建了两个不同的传输连接。 如果是,那么如果我能够通过传输连接transport1每分钟发送10封邮件,那么现在我可以同时使用两个传输连接每分钟发送20封邮件。是的。

在我的项目中,我发送的电子邮件数量很多,为此,我正在使用发送电子邮件的服务的多个实例。为每个实例创建单独的传输连接还是对所有实例使用相同的传输实例黑白是很好的服务。

1 个答案:

答案 0 :(得分:2)

调用两次session.getTransport将创建两个Transport对象,每个对象都可以拥有自己的服务器连接。是否提供更好的性能取决于客户端和服务器的多处理/多线程功能以及网络的速度。