Я ищу, но не могу найти подобную проблему, не говоря уже о ответе. У меня есть веб-приложение, работающее на моем ноутбуке (windows 8), tomcat7, и оно отлично работает. Он отправляет сообщение по электронной почте, как и ожидалось. У меня есть тот же код, что и на моем Linux-сервере, а также tomcat7, и я получаю javax.mail.AuthenticationFailedException
.javax.mail работает на ПК, но не на сервере
Я сделал Authenticator вещь с самого начала:
...
Authenticator mailAuthenticator = new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(properties.getProperty("mail.smtp.user"),
properties.getProperty("mail.smtp.password"));
}
};
try {
// Get the default Session object.
Session session = Session.getInstance(properties, mailAuthenticator);
MimeMessage mimeMessage = new MimeMessage(session);
mimeMessage.setSubject("Subject, whoot whoot!");
mimeMessage.setFrom(new InternetAddress(properties.getProperty("mail.smtp.from")));
//This is an overkill
List<String> emailList = new LinkedList<>();
emailList.add("[email protected]");
for(String item : emailList) {
mimeMessage.addRecipients(Message.RecipientType.TO, InternetAddress.parse(item));
}
//The body).(
StringBuilder sbMsg = new StringBuilder("Some text, etc.\n");
sbMsg.append("more text");
Multipart multipart = new MimeMultipart("alternative");
BodyPart messageBodyPart1 = new MimeBodyPart();
messageBodyPart1.setContent(sbMsg.toString(), "text/plain");
multipart.addBodyPart(messageBodyPart1);
mimeMessage.setContent(multipart);
Transport transport = session.getTransport(properties.getProperty("mail.transport"));
int port = Integer.parseInt(properties.getProperty("mail.smtp.port"));
//Exception happens on the line below
transport.connect(properties.getProperty("mail.smtp.host"),
port,
properties.getProperty("mail.smtp.user"),
properties.getProperty("mail.smtp.password"));
transport.sendMessage(mimeMessage, mimeMessage.getAllRecipients());
return true;
} catch (Exception e) {
//Pokemon exception handling :(
LOG.log(Level.SEVERE, "Error while sending email", e);
}
Исключение происходит на transport.connect
, и нет описания за исключением :(
Я проверил mail.smtp.user
и mail.smtp.password
и это точно так же: S
Любые подсказки, где я могу начать смотреть
Можете ли вы вставить полную трассировку стека? Брандмауэр вашего сервера блокирует определенные порты? –