2015-05-25 4 views
0

Я ищу, но не могу найти подобную проблему, не говоря уже о ответе. У меня есть веб-приложение, работающее на моем ноутбуке (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

Любые подсказки, где я могу начать смотреть

+0

Можете ли вы вставить полную трассировку стека? Брандмауэр вашего сервера блокирует определенные порты? –

ответ

0

? Просто получил электронные письма и текст из Google. GMail думал, что я пытаюсь взломать свой аккаунт. Я рад, что есть логичный ответ на эту проблему :-)