title: javax.mail.AuthenticationFailedException: 535 5.0.0 Authentication Failed
body: <p>I don't understand why i am getting this exception.
  This is the code that attempts to send email message.</p>
  
  <pre><code>public void sendAsHotmail() {
      final String username = jTextField14.getText();
      final String password = jPasswordField4.getText();
      String subject = jTextField16.getText();
      String Cc = jTextField17.getText();
      String Bcc = jTextField18.getText();
      String recipient = jTextArea5.getText();
  
      Properties props = new Properties();
      props.put( "mail.smtp.host" , "smtp.live.com");
      props.put( "mail.smtp.user" , username );
  
      // Use TLS
      props.put("mail.smtp.auth" , "true" );
      props.put( "mail.smtp.starttls.enable" , "true" );
      props.put( "mail.smtp.password" , password );
  
      Session session = Session.getDefaultInstance( props , new Authenticator() {
          @Override
                  protected PasswordAuthentication getPasswordAuthentication() {
                    if( username == null | password == null ) 
                        JOptionPane.showMessageDialog( new JFrame() , "username or password incorrect");
                    return new PasswordAuthentication( username , password );
                  }
      });
      String to = recipient;
      String from = username + "@hotmail.com";
      String emailMessage = jTextArea2.getText();
      MimeMessage message = new MimeMessage(session);
      MimeBodyPart attachment = new MimeBodyPart();
      MimeBodyPart messagePart = new MimeBodyPart();
      FileDataSource fds = new FileDataSource( fileName );
  
      try {
          message.setRecipients( Message.RecipientType.TO, InternetAddress.parse( to ) );
          message.setFrom( new InternetAddress(from) );
          message.setSubject(subject);
          message.setText( emailMessage );
          attachment.setDataHandler( new DataHandler( fds ) );
          attachment.setFileName( fileName );
          messagePart.setText( emailMessage );
          Multipart hotmailMP = new MimeMultipart();
          hotmailMP.addBodyPart(attachment);
          hotmailMP.addBodyPart( messagePart );
          message.setContent( hotmailMP );
          Transport transport = session.getTransport("smtp");
          transport.send(message);
          JOptionPane.showMessageDialog(new JFrame() , "mail sent !");       
      }  catch(Exception exc) {
          System.out.println(exc);
      }
  }
  </code></pre>
  
  <p>Why do i get this exception ? If there is anything wrong with the code please tell what the problem is.</p>