我想给使用Java邮件API从Java的电子邮件(javax.mail。*)。 我可以用下面的设置通过雷鸟访问SMTP服务器:
- 服务器:math.uni-freiburg.de
- 端口:465
- 用户名:MY_USERNAME
- 身份认证:密码,正常
- 安全性:SSL / TLS
我知道没有别的关于SMTP服务器。
我的代码,我总是得到错误: 无法连接到SMTP主机:math.uni-freiburg.de,端口:465,响应:-1
String SMTP_HOST = "math.uni-freiburg.de"
String SMTP_USER = "MY_USERNAME@math.uni-freiburg.de";
String SMTP_PASSWORD = "MY_PASSWORD";
String SMTP_PORT = "465";
final Properties props = new Properties();
props.put("mail.smtp.host", SMTP_HOST);
props.put("mail.smtp.port", SMTP_PORT);
props.put("mail.transport.protocol","smtp");
props.put("mail.smtp.auth", "true");
//props.put("mail.ssl.enable", "true");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.tls", "true");
props.put("mail.smtp.ssl.checkserveridentity", "true");
final javax.mail.Authenticator auth = new javax.mail.Authenticator() {
@Override
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(SMTP_USER, SMTP_PASSWORD);
}
};
Session session = Session.getInstance(props, auth);
Message msg = new MimeMessage(session);
msg.setFrom(new InternetAddress("MY_USERNAME@math.uni-freiburg.de", "MY NAME"));
msg.addRecipient(Message.RecipientType.TO, new InternetAddress("asdfasdf@gmail.com", "asdf asdf"));
msg.setSubject("SUBJECT");
msg.setText("THE MESSAGE");
msg.saveChanges();
Transport.send(msg);
我已经试图改变某些属性,但因为我真的不知道他们做了什么,这是不是很全成。
任何想法我可以改变?