1

Javaでメール送信用のアプリを作成しています。すべてが設定され、正常に動作しています。しかし、エラーは、Hotmail アカウントにログインしようとすると、catch ブロックで指定した電子メールとパスワードが正しくないというエラーが表示されることです。しかし、最初にyahooまたはgmailにログインするとhotmailにログインし、その後Hotmailにログインできますが、最初にhotmailにログインできません。コードは以下です

private void cmd_loginActionPerformed(java.awt.event.ActionEvent evt) {                                          
    user = txt_user.getText();
    pass = txt_pass.getText();
    int combo = combo_ac.getSelectedIndex();

    if(combo==0){
try{
        Properties props = new Properties();
        props.put("mail.smtp.host", "smtp.gmail.com");
        props.put("mail.smtp.socketFactory.port", "465");
        props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.port", "465");

        Session sessin = Session.getDefaultInstance(props,
            new javax.mail.Authenticator() {
                protected PasswordAuthentication getPasswordAuthentication(){
                    return new PasswordAuthentication(user+"@gmail.com", pass);
                }
            }
        );
    new Gmail().setVisible(true);
}catch(Exception e){
        JOptionPane.showMessageDialog(null, "Incorrect Email or Password!");
 }
    }else if(combo==1){
try{
      Properties props = new Properties();
        props.put("mail.smtp.host", "smtp.live.com");
        props.put("mail.smtp.socketFactory.port", "25");
        props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.port", "25");

        Session sessin = Session.getDefaultInstance(props,
            new javax.mail.Authenticator() {
                protected PasswordAuthentication getPasswordAuthentication(){
                    return new PasswordAuthentication(user+"@hotmail.com", pass);
                }
            }
        );
     new Hotmail().setVisible(true);
}catch(Exception e){
        JOptionPane.showMessageDialog(null, "Incorrect Email or Password!");
 }
    }else if(combo==2){
try{
       Properties props = new Properties();
        props.put("mail.smtp.host", "smtp.mail.yahoo.com");
        props.put("mail.smtp.socketFactory.port", "465");
        props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.port", "465");

        Session sessin = Session.getDefaultInstance(props,
            new javax.mail.Authenticator() {
                protected PasswordAuthentication getPasswordAuthentication(){
                    return new PasswordAuthentication(user+"@yahoo.com", pass);
                }
            }
        );
     new Yahoo().setVisible(true);
}catch(Exception e){
        JOptionPane.showMessageDialog(null, "Incorrect Email or Password!");
 }
    }
}                                         
4

1 に答える 1