【发布时间】:2015-04-10 16:59:27
【问题描述】:
大家好,感谢您的帮助
我使用 javamail 通过 office365 SMTP 服务器 (smtp.office365.com) 发送邮件,但由于某种原因,它大约需要 60-80 秒才能发送邮件。
stringaHost = "mail.smtp.host";
stringaUser = "mail.smtp.user";
Security.setProperty("ssl.SocketFactory.provider","com.ibm.jsse2.SSLSocketFactoryImpl");
Security.setProperty("ssl.ServerSocketFactory.provider","com.ibm.jsse2.SSLServerSocketFactoryImpl");
InitialContext initialContext = null;
initialContext = new InitialContext();
session = (Session)initialContext.lookup(nomeJndi);
session.getProperties().put("mail.smtp.auth", "true");
session.getProperties().put("mail.smtp.socketFactory.port", 465);
session.getProperties().put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
MimeMessage MsgEmail = new MimeMessage( session );
com.sun.mail.smtp.SMTPTransport t =(com.sun.mail.smtp.SMTPTransport)session.getTransport("smtp");
t.setStartTLS(true);
t.connect( smtp.office365.com,myUser,myPassword);
t.sendMessage( MsgEmail, MsgEmail.getAllRecipients());
t.close();
java 邮件花费超过 60 秒来评估指令:t.connect(....)。
关于可能发生什么以及如何缩短此时间间隔的任何线索?
附:我尝试使用不带参数的 t.connect(),系统技术表明该指令使用操作系统的 SMTP 传输协议,而不使用 Office365 服务器传输协议
谢谢
【问题讨论】:
标签: java smtp jakarta-mail exchange-server office365