我正在尝试通过java.mail SMTP发送电子邮件。我有2个使用相同提供商和设置的邮件帐户:
第一个有效。第二个是535 Authentication credentials invalid
。
我正在使用java.mail 1.5。
这是我的代码:
Properties props = new Properties();
props.put("mail.smtps.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.host", "smtp.1und1.de");
props.put("mail.smtp.port", "465");
Session session = Session.getInstance(props, new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("foo@example.org", "$§$&/&%§$!><>");
}
});
Transport transport = session.getTransport("smtps");
transport.connect("smtp.1und1.de", username, password);
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress("foo@example.org"));
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("bar@example.org"));
message.setSubject("subject");
message.setText("text");
transport.sendMessage(message, message.getAllRecipients());
我是否需要以某种方式对密码进行编码?
提前致谢。
我现在尝试通过telnet登录。同样的问题。所以这与Java无关,但它可能是一些常见的SMTP问题。
在Mac和iPhone上使用Apple Mail使用电子邮件帐户无任何问题。