我正在尝试下面的代码,使用JavaMail,Exchange Server和SMTP发送邮件:
Properties props = new Properties();
props.put("mail.smtp.auth", true);
props.put("mail.smtp.starttls.enable", true);
props.put("mail.smtp.host", host);
props.put("mail.smtp.port", port);
Session session = Session.getInstance(props,
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username,
password);
}
});
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(to));
message.setRecipients(Message.RecipientType.CC,
InternetAddress.parse(cc));
message.setSubject(sub);
MimeBodyPart messageBodyPart1 = new MimeBodyPart();
messageBodyPart1.setContent(msg, "text/html; charset=utf-8");
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(messageBodyPart1);
message.setContent(multipart);
Transport.send(message);
获得以下错误,请帮助:
com.sun.mail.smtp.SMTPSendFailedException:550 5.7.1客户端没有 有权发送此发件人已抛出异常: com.sun.mail.smtp.SMTPSendFailedException:550 5.7.1客户端没有 有权发送此发件人
我已于2014年7月7日更改了用户详细信息,现在收到以下错误:
抛出了异常:javax.mail.MessagingException:Connection 被服务器丢弃了?嵌套异常是:java.io.IOException: 连接被服务器丢弃了吗?
答案 0 :(得分:0)
您使用的是什么版本的JavaMail?协议跟踪显示什么?您确定要对服务器进行身份验证吗?
如果您使用的是旧版本的JavaMail,则需要将属性设置为字符串,而不是布尔常量。