3 回答

TA贡献1829条经验 获得超7个赞
好。这比我第一次艰难一点……总结一下我得到了什么:
有一个非常有用的命令:session.setDebug(true);。如果将其设置为true,则每个重要进程都将调试到控制台。我建议使用它。
第二台计算机只能使用安全选项,您可以使用以下选项进行切换:Transport transport = session.getTransport("smtps");而不是不安全的smtp ... JavaMail API Transport对象还将处理端口(分别是smtp:587,smtps:465)
您还可以使用Transport类的静态方法来发送消息和(保存之前,非静态sendMessage方法将不保存消息),但是这次您需要在会话创建时使用javax.mail.Authenticator,像这样:
Session session = Session.getInstance(props, new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("login", "password");
}
});
1.4.2 JavaMailApi除了此版本1.4.7之外,还存在另一个异常...
如果不使用它,则无法使用静态方法进行身份验证。如果使用实例方法,则可以。
一台计算机拥有Maven并获得了JavaMail API的1.4.2版本。第二台计算机有一个下载的库,版本为1.4.7,我想这也弄乱了东西
第一个组件是Netbeans,第二个组件是Intellij ... +1)互联网上有很多旧的,不好的示例代码,这使得正确使用此API变得更加困难。
太混乱了,但是有一些基本概念应该重点关注...
添加回答
举报