我有点困惑于何时需要使用Authenticator通过Javamail读取和发送电子邮件? Java mail FAQ明确指出不需要Authenticator。就是这样:props.put("mail." + protocol + ".auth", "true");
会完成工作。然而,我在SO和其他方面看到了很多代码,其中将属性props.put("mail." + protocol + ".auth", "true");
设置为true并且也使用了Authenticator,这是必需/必要的吗?我们什么时候使用什么?
身份验证员: -
private class SMTPAuthenticator extends javax.mail.Authenticator {
String _uid;
String _pwd;
public SMTPAuthenticator(String uid, String pwd){
this._uid = uid;
this._pwd = pwd;
}
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(this._uid, this._pwd);
}
}
答案 0 :(得分:1)
您永远不需要使用身份验证器。
Authenticator是一种允许您的应用程序“按需”提供用户名和密码的方法。如果你与人交往,那是个好主意。如果提前知道用户名和密码,您可以跳过身份验证器并在进行连接呼叫时直接提供。