problem z JavaMail

0

Witam.
Chce napisac prosty aplet, ktory bedzie pobierac tresc z JTextArea i po naciśnieciu guzika wiadomość ta ma zostac wysłana na maila. Googlowałem, przejrzałem poosty z tego forum i dalej mam problem.

Nizej jest cały kod

import java.util.Properties;
import javax.mail.Address;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.NoSuchProviderException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.*;

public class Okno extends javax.swing.JPanel {
    
    Session sesja;
    Properties props;
    MimeMessage wiadomosc;
    Address adresDo;
    Address adresOd;
    Transport transport;
    Authenticator auth;
    
    public Okno() {
        initComponents();
        auth = new SMTPAuthenticator();
        props = new Properties();
        props.put("mail.smtp.host", "smtp.gmail.com");
        props.put("mail.transport.protocol", "smtp");
        props.put("mail.smtp.auth", "true");
        sesja = Session.getInstance(props, null);
        wiadomosc = new MimeMessage(sesja);
        try {
            wiadomosc.setFrom(adresOd);
        } catch (MessagingException ex) {
            ex.printStackTrace();
        }
        try {
            wiadomosc.setRecipients(Message.RecipientType.TO, "[email protected]");
        } catch (MessagingException ex) {
            ex.printStackTrace();
        }
        try {
            transport = sesja.getTransport("smtp");
            
        } catch (NoSuchProviderException ex) {
            ex.printStackTrace();
        }
        try {
            adresDo = new InternetAddress("[email protected]");
            wiadomosc.setText("probna wiadomosc ");
        } catch (MessagingException ex) {
            ex.printStackTrace();
        }
        
        try {
            
            //transport.sendMessage(wiadomosc, wiadomosc.getAllRecipients());//zamiennie z transport.send(wiadomosc)
            transport.send(wiadomosc);
            transport.close();
        } catch (MessagingException ex) {
            ex.printStackTrace();
            
        }
        
    }
    
    private class SMTPAuthenticator extends javax.mail.Authenticator
          {

              public PasswordAuthentication getPasswordAuthentication()
              {
                  String username = "loginDoPoczt";
                  String password = "hasloDoPoczty";
                  return new PasswordAuthentication(username, password);
              }
          }               
}

I wywala mi taki bład :
javax.mail.AuthenticationFailedException
at javax.mail.Service.connect(Service.java:306)
at javax.mail.Service.connect(Service.java:156)
at javax.mail.Service.connect(Service.java:105)
....

nie wiem co jest nie tak.


0

http://forum.java.sun.com/thread.jspa?threadID=668779&messageID=3914133

są problemy z gmailem po pierwsze używa on innego portu niż domyślny. zatem zapewne próbujesz się logować w nieodpowiedni sposób. Nie zapominaj że gmail używa bezpiecznego logowania przez ssl.

1 użytkowników online, w tym zalogowanych: 0, gości: 1